Recherche dans une liste à partir d'un champ texte

Contenu du snippet

permet de réduire les options d'une liste de choix à partir du contenu d'un champ de texte :
en saisissant le début du mot/nom dans une zone de texte, la liste ne contiendra plus que les éléments qui commence par votre saisie ...

Source / Exemple :


<HTML>
<HEAD> 
<TITLE>Recherche dans une liste à partir d'un champ texte</TITLE>
<script language="VBScript">
Dim tout()
Dim nb_elements	
	
Sub Window_Onload 	
		For i = 1 to 100
			Set oOption = Document.createElement("OPTION")
			oOption.Text = i & " Opt" & i
			liste.Add(oOption)
			ReDim Preserve tout(i)
			tout(i) = oOption.Text
		next
nb_elements = UBound(tout)
End Sub

function zyva(x,y)
	viderListe(y)
	If len(x) = 0	Then
		restoreListe(y)
	Else
		For i = 1 to nb_elements		
			If InStr(tout(i), x) = 1 Then
				Set oOption = Document.createElement("OPTION")	
				oOption.Text = tout(i)
				y.Add(oOption)			
			End If
		next
		If y.options.length = 1 Then
			y.options(0).selected = true
		End If
	End If
end function

function viderListe(y)
	y.options.length = 0	
end function

function restoreListe(y)
	For i = 1 to nb_elements
		Set oOption = Document.createElement("OPTION")	
		oOption.Text = tout(i)
		y.Add(oOption)
	next	
end function

</script>		
	
</HEAD>
<BODY>
Recherche dans une liste à partir d'un champ texte<br><br>

<INPUT TYPE="text" NAME="nom" ID="nom" SIZE="20" MAXLENGTH="30" onKeyUp="zyva(document.getElementById('nom').value), document.getElementById('liste')">
<br><br>
<SELECT NAME="liste" ID="liste" SIZE="3">
</SELECT>
</BODY>	
</HTML>

Conclusion :


inspiré du source
http://www.javascriptfr.com/codes/RECHERCHE-DANS-LISTE-PARTIR-CHAMP-TEXTE_32839.aspx

J'avais besoin de l'équivalent vbs

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.