la propriété visibility et display ne fonctionne pas sous ie sur les OPTIONS
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:
Code:
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 |
et ma fonction javascript :
Code:
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 |
vous-y voyez-vous une erreur évidente pour IE ?
d'avance merci...