2010-03-19 6 views
6

Comment se faire vérifier Index RadioButton en utilisant jQuery? Je dois le lire et enregistrer les cookies pour charger l'état plus tard en utilisant le codejQuery RadioButton index

$('input[name="compression"]')[{Reading from cookies code}].checked = true; 



1<input name="compression" type="radio" value="1" checked="checked" /> 
2<input name="compression" type="radio" value="2" /> 
3<input name="compression" type="radio" value="3" /> 

Cordialement Tomas

Répondre

7

Ce retourne l'index de base zéro du RadioButton sélectionné

$('input[name=compression]:checked').index() 

Pour le cas décrit dans l'utilisation de commentaire (qui est généralement la bonne syntaxe à utiliser)

$('input[name=porient]:checked').index('input[name=porient]') 

Si vous voulez savoir pourquoi la première donne de mauvais résultats, vous devriez lire le .index() documentation

Si aucun argument est transmis à la méthode .index(), la valeur de retour est un entier indiquant la position de le premier élément dans l'objet jQuery par rapport à ses éléments frères.

Dans l'échantillon de la question, il n'y avait pas d'autres frères et soeurs, mais vos radiobuttons. Ainsi cela fonctionne.

Dans l'exemple du commentaire de la balise <br /> est un frère du radiobuttons et est donc l'indice 1. C'est pourquoi vous pensez que index() donne une mauvaise position

+0

chose étrange, il fonctionne très bien sur les boutons radio « de compression » Quel code figure ci-dessus, mais sur le code ci-dessous pour les boutons radio "porient" il renvoie des index erronés. Si le premier bouton radio est sélectionné, il renvoie 0 (ok) le second le sélectionne return 2 (!!!!) Je n'arrive pas à comprendre ce qui se passe. Des idées?

Portrait
Paysage

Tomas

+0

Vérifiez la réponse étendue – jitter