Obtenir l'index de l'option select dans un optgroup avec jquery
J'ai le select suivante:
<select name="end" id="end">
<optgroup label="Morning">
<option value="12:00a">12:00 am</option>
<option value="12:30a">12:30 am</option>
<option value="1:00a">1:00 am</option>
<option value="1:30a">1:30 am</option>
</optgroup>
<optgroup label="Evening">
<option value="12:00p">12:00 pm</option>
<option value="12:30p">12:30 pm</option>
<option value="1:00p" selected="selected">1:00 pm</option>
<option value="1:30p">1:30 pm</option>
</optgroup>
</select>
J'ai besoin de trouver la globale indice de l'option sélectionnée, mais le "optgroup" est difficile. En d'autres termes, la sélection de l'un devrait revenir 6, mais il est de retour 2. J'ai essayé ceci:
var idx = $('#end :selected').prevAll().size();
Mais qui renvoie l'index à l'intérieur de cette "optgroup", et non pas l'indice d'ensemble. Je ne peux pas changer le format ou les valeurs de l'sélectionnez options.
source d'informationauteur Tauren | 2010-02-09
Vous devez vous connecter pour publier un commentaire.
Erm... whyever pas les bonnes vieilles méthodes du DOM? Pour une sélection unique:
Ou, qui fonctionne également sur multi-sélections, obtenir le
option
nœud de l'élément qui vous intéresse et de chercher de l'option.index.C'est massivement plus rapide et plus simple que arriver à jQuery de processus complexes sélecteurs.
Utiliser le
index()
fonction pour trouver un élément dans un ensemble. Construire un ensemble de toutes les options à l'aide de$("#end option")
. Trouver l'option sélectionnée à l'aide de la:sélectionné
pseudo-élément. Remarque: indices sont basés sur 0.Vous pouvez aussi essayer ceci:
Cela a fonctionné pour moi. Le
attr('selectedIndex')
seulement amenée indéfini avec la liste de sélection.La même chose en jquery est court et simple:
Un peu moche, mais je pense que j'avais de travail.
En fonction de votre problème de retour de tous choisi l'option de la valeur de l'indice .
vous pouvez essayer le code suivant , peut-être vous aider.
code:
code javascript:
CODE HtML: