2009-11-06 5 views
1

Existe-t-il une fonction Javascript Clear pour une liste déroulante?Javascript clear

ddlist.Clear(); ou quelque chose de ce genre?

+0

Qu'attendez-vous exactement de clear()? Supprimer toutes les options de la liste? – Triptych

+0

On m'a dit il y a un ddlist.clear où il effacerait toutes les valeurs dans n'importe quel ddlist que vous référencez – PositiveGuy

Répondre

5

Si par "effacer les valeurs" vous signifie supprimer tous les éléments <option> dropdown, le moyen le plus rapide et le plus concis est:

ddlist.options.length = 0 
+0

belle réponse –

+0

Correct. Aucune boucle requise! –

+0

sympa! très propre – PositiveGuy

0

Pour un tableau, vous pouvez simplement utiliser

arr = []; 

pour les éléments, etc, vous aurez besoin d'utiliser un cadre ou supprimer chaque élément dans une boucle

5

non, il n'y a pas. mais vous pouvez le faire comme ceci:

function clearDropDownList(ddl) { 
    while (ddl.hasChildNodes()) { 
     ddl.removeChild(ddl.lastChild); 
    } 
} 
+0

cela n'a pas fonctionné. – PositiveGuy

6

Je vous recommande de vérifier jQuery, il a une fonctionnalité similaire à ce que vous cherchez et peut aider javascript le développement en général plus facile et plus proche de la se comportent même sur plusieurs navigateurs.

http://docs.jquery.com/Manipulation/empty

2

Vous pouvez régler le innerHTML sur "", ou supprimer toutes les Childs option par programmation:

var element = document.getElementById("selectId"); 
element.innerHTML = ""; 

Ou:

var element = document.getElementById("selectId"); 
while (element.firstChild) { 
    element.removeChild(element.firstChild); 
} 
+0

+1 pour la concision. –

0

Courte.

while (ddlist.options.length) 
    ddlist.options.remove(0);