2010-05-04 3 views
2

Je suis nouveau sur JQuery. J'ai un élément html sélectionné. J'essaie de comprendre comment parcourir les options de l'élément select. Je sais comment faire avec javascript traditionnel comme indiqué ici:JQuery - Collection Iteration

for (i=0; i<mySelect.options.length; i++) 
    alert(mySelect.options[i].value); 

Cependant, je suis en train d'apprendre sur JQuery plus. Quelqu'un peut-il me montrer la meilleure façon de parcourir une collection en utilisant JQuery?

Merci

Répondre

1

Tout d'abord: À mon humble avis, c'est génial que vous appreniez la façon non-jQuery. Faites attention à ce que vous ne glissiez pas dans la pensée que tout mieux utiliser jQuery.

Pour le problème: Si vous avez une référence DOM mySelect au select alors vous pouvez obtenir un objet jQuery des option s avec $(mySelect).find("option"). La méthode habituelle pour les parcourir est la méthode each de jQuery et une fonction (anonyme):

$(mySelect).find("option").each(function() { 
    alert(this.value); 
}) 
9

dépend de ce que vous voulez faire.

  • Si vous voulez juste itératif sur la collection que vous pouvez utiliser each.

  • Si vous souhaitez parcourir la collection et appliquer une transformation à chaque élément (et récupérer une nouvelle collection), il existe map.

  • Si vous voulez simplement sélectionner un sous-ensemble de votre collection, il y a grep.

1

Essayez ceci:

$("#mySelect options").each(
    alert($(this).attr("value")); 
) 
0

Cet extrait obtiendra tous les éléments d'entrée, et pour each d'entre eux, imprimer son index dans la collection d'éléments (index) et sa valeur dans le journal.

$(":input").each(function(index) { console.log(index + " " + this.value);}) 
1

Je crois que vous pouvez utiliser chaque fonction pour cela. See here