Top 3 dans select/option avec removeChild
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 :
Code:
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';
}
} |
Ca marche dans FF, mais pas dans IE.
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 :
Code:
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);
}
} |
Mais là, ça marche pas du tout... et le message d'erreur par Firebug est incompréhensible...
Est-ce que quelqu'un peut m'expliquer comment débloquer la situation. D'avance merci.