Comment récupérer la valeur de c select
Bonjour j'ai trouvé un bout de code javascript permettant à une zone texte de réduire les éléments d'un select au fure et a mesure qu'on la remplit.
Par exemple si le select contient les chiffres 101 110 120, en tapant dans la zone texte "10" il restera dans le select plus que 101.
Je récupere sans probleme le résultat de la zone texte, mais je n'arrive pas a trouver comment récupérer celui du select... Si au lieu de rentrer une valeur on sélectionne directement.
Citation:
<SCRIPT LANGUAGE="JavaScript">
var Liste=new CreerListe("Client", 5, 265)
<? //Remplir la liste déroulante
while ($l_client = mysql_fetch_array($result_client))
{
?>
Liste.Add("<? echo $l_client["code_client"]." ".$l_client["libelle_client"] ?> ");
<?
}
?>
function CreerListe(nom, hauteur, largeur)
{
this.nom=nom; this.hauteur=hauteur; this.largeur=largeur;
this.search="";
this.nb=0;
this.Add=AjouterItem;
this.Afficher=AfficherListe;
this.MAJ=MAJListe;
}
function AjouterItem(item)
{
this[this.nb]=item
this.nb++;
}
SearchList.prototype.MAJinput=function()
{
this.text.value=this.select[this.select.selectedIndex].text;
}
function AfficherListe()
{
if (document.layers)
{
var Z="<SELECT name="+this.nom+" size="+this.hauteur+">";
}
else
{
var Z="<SELECT name="+this.nom+" style='width:"+this.largeur+"'>";
}
for (var i=0; i<this.nb; i++)
{
Z+="<OPTION value=\""+this[i]+"\">"+this[i]+"</OPTION>"
}
Z+="</SELECT>"
document.write(Z);
}
function MAJListe(txt,f)
{
if (txt!=this.search)
{
this.search=txt
f.elements[this.nom].options.length=0;
for (var i=0; i<this.nb; i++)
{
if ( this[i].substring(0,txt.length).toUpperCase()==txt.toUpperCase() )
{
var o=new Option(this[i], this[i]);
f.elements[this.nom].options[f.elements[this.nom].options.length]=o;
}
}
if (f.elements[this.nom].options.length==1)
{
f.elements[this.nom].selectedIndex=0;
}
}
}
function ListeCheck()
{
Liste.MAJ(document.forms["saisie"].search.value,document.forms["saisie"])
if (document.layers)
{
setTimeout("ListeCheck()", 1001)
}
else
{
setTimeout("ListeCheck()", 100)
}
}
</SCRIPT>
Voili voila. Merci d'avance.