Bonjour,
alors le titre est pas clair, mais je vais essayer d'expliquer quand même.
J'ai une liste de 5 items (Whisky/Vodka/Rhum/Gin/Tequila) dans un formulaire, et je voudrais que l'internaute choisisse quel item il met en premier (apprec_un), puis en second (apprec_deux), puis en troisième (apprec_trois). Pour avoir un classement du genre :1er : la Tequila, 2nd : la Vodka, 3ème : le Whisky
Pour ça, j'ai fait 3 select identiques (à part le name, bien sûr).
Avec un onClick, je charge une fonction :
Ca marche dans FF, mais pas dans IE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for (i=0;i<5;i++) { if(document.forms[0].apprec_un.options[i].selected == true) { document.forms[0].apprec_deux.options[i].style.display = 'none'; document.forms[0].apprec_trois.options[i].style.display='none'; } }
Pourquoi ?
J'suis pas sûr que le display: none; supprime l'élément du DOM.
Donc j'ai essayé une autre approche avec removeChild et la fonction suivante :
Mais là, ça marche pas du tout... et le message d'erreur par Firebug est incompréhensible...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for (i=0;i<5;i++) { if(document.forms[0].apprec_un.options[i].selected == true) { var noeud = document.forms[0].apprec_deux.options[i]; document.forms[0].apprec_deux.removeChild(noeud); var noeud = document.forms[0].apprec_trois.options[i]; document.forms[0].apprec_trois.removeChild(noeud); } }
Est-ce que quelqu'un peut m'expliquer comment débloquer la situation. D'avance merci.
Partager