Page 1 sur 1

supprimer options

Posté : 28 mars 2008, 12:00
par Invité
Bonjour à tous,
j'utilise le code suivant pour enlever toutes les options d'une liste déroulante:
var elt = f.elements["maListe"];
for (i=0; i<elt.options.length; i++)
{
     elt.remove(elt.options[i]);
}
Ce script m'enlève uniquement la première option au lieu de toutes les effacer.
Voyez vous qe qui manquerait?

Posté : 28 mars 2008, 12:41
par Ryle
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.
}