par
Ryle » 28 mars 2008, 12:41
Ton problème est le suivant : si tu supprimes l'option i=0, la liste est décallée et l'option numéro 1 prend la place de l'option 0, la 2ème la place de la 1 etc.
Si ensuite tu incrémentes ta variable i et que tu recommence avec i=1, tu vas supprimer la nouvelle option 1 mais laisser la précédente qui est passée en 0. La liste va se redécaler et au final tu ne va supprimer qu'une ligne sur 2
En fait, c'est toujours l'option 0 qu'il te faut supprimer, et ce, elt.options.length fois :
var elt = f.elements["maListe"];
while (elt.options.length > 0)
{
elt.remove(elt.options[0]); // on supprime la premiere option, tant qu'il y en a une.
}
Ton problème est le suivant : si tu supprimes l'option i=0, la liste est décallée et l'option numéro 1 prend la place de l'option 0, la 2ème la place de la 1 etc.
Si ensuite tu incrémentes ta variable i et que tu recommence avec i=1, tu vas supprimer la nouvelle option 1 mais laisser la précédente qui est passée en 0. La liste va se redécaler et au final tu ne va supprimer qu'une ligne sur 2
En fait, c'est toujours l'option 0 qu'il te faut supprimer, et ce, elt.options.length fois :
[php]var elt = f.elements["maListe"];
while (elt.options.length > 0)
{
elt.remove(elt.options[0]); // on supprime la premiere option, tant qu'il y en a une.
}[/php]