bonjour,
je me casse la tête depuis une 3 heures.
j'ai deux champs, une textbox, et une combobox.
Quand je saisie 'b' dans la textbox, je veux que les éléments de la liste ne commençant pas par 'b' se cachent.
ça marche nickel sous ff et safari mais pas sous windows.
où est mon problème ?
voilà le début de la déclaration de ma liste:
et ma fonction javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <select name="liste_gouts" id="liste_gouts" style="width:230px;" onChange="document.getElementById('filtre').value='true';document.FORMULAIRE.submit();"> <option value="-1" selected="selected" >Choisir...</option> <option id="1" name="Abricot1" title="Abricot"value="1" >Abricot</option> <option id="2" name="Absinthe2" title="Absinthe"value="2" >Absinthe</option> <option id="7" name="Advocat7" title="Advocat"value="7" >Advocat</option> <option id="8" name="Agrumes8" title="Agrumes"value="8" >Agrumes</option> ..etc
vous-y voyez-vous une erreur évidente pour IE ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 function MAJ_LISTE(debut) { //debut est un caractère. nb=document.FORMULAIRE.liste_gouts.options.length; //on raffiche tout avant d'en effacer for (i=1;i<nb;i++) { nom=document.FORMULAIRE.liste_gouts.options[i].id; document.getElementById(nom).style.display=''; document.getElementById(nom).style.visibility='visible'; }//fin boucle FOR if (debut!="") { debut=debut.toLowerCase() for (i=1;i<nb;i++) { nom=document.FORMULAIRE.liste_gouts.options[i].title; //if (i==3) alert(nom); id=document.FORMULAIRE.liste_gouts.options[i].id; machaine=new String(nom); machaine=machaine.toLowerCase(); pos=machaine.lastIndexOf(debut,0); if (pos!=0) { document.getElementById(id).style.display='none'; document.getElementById(id).style.visibility='hidden'; } }//fin boucle FOR document.getElementById('liste_gouts').selectedIndex=null; //le premier venu (0 est Choisir...) }//fin IF }//fin fonction
d'avance merci...
Partager