94 votes

JQuery - trouver un bouton radio en valeur

Comment puis-je utiliser JQuery pour trouver un bouton radio par sa valeur?

139voto

Gumbo Points 279147

Essayez ceci:

$(":radio[value=foobar]")

Cela permet de sélectionner tous les boutons radio avec l'attribut value="foobar".

25voto

dogatonic Points 836

Je suis à l'aide de jQuery 1.6 et cela n'a pas fonctionné pour moi: $(":radio[value=foobar]").attr('checked',true);

Au lieu de cela, je suis en utilisant: $('[value="foobar"]').attr('checked',true); et il fonctionne très bien.

Le code que j'utilise efface les radios première et utilise prop au lieu de attr

$('[name=menuRadio]').prop('checked',false);

$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);

19voto

Jai Points 23908

Ceci peut être réalisé par cela aussi:

$('input[type="radio"][value="aaa"]').val();

Cela permet de sélectionner la radio qui a la valeur de l'aaa

en termes de performances, c'est bien plus rapide que l' :radio


Avec .filter() méthode:

var radio =  $('input[type="radio"]').filter(function(){
                       return this.value === 'aaa';
                      }).val();

5voto

dylan trevena Points 51

disons que vous avez quelque chose comme cela dans le code HTML:

<fieldset>
    <input type="radio" name="UI_opt" value="alerter" checked> Alerter<br/>
    <input type="radio" name="UI_opt" value="printer"> Printer<br/>
    <input type="radio" name="UI_opt" value="consoler"> Consoler<br/>
</fieldset>

alors ce genre de chose fonctionne.

$("fieldset input[name='UI_opt'][checked]").val()

1voto

Simon_Weaver Points 31141

Plein sélecteur devrait ressembler à ceci:

bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")

étant donné que vous avez probablement plus d'un groupe de boutons radio comme ceci

<input name="ShipToBillingAddress" type="radio" value="True" checked="checked">
<input name="ShipToBillingAddress" type="radio" value="False">

<input name="SomethingElse" type="radio" value="True" checked="checked">
<input name="SomethingElse" type="radio" value="False">

À l'aide d'un sélecteur d'ID comme ceci (exemple) est mauvais parce que vous ne devriez pas avoir plusieurs éléments avec le même ID. Je suppose que quelqu'un à trouver cette question, on sait déjà ce qui est mauvais.

$("#DidYouEnjoyTheMovie:radio[value=yes]")

La suite sur :radio peut ou peut ne pas être d'intérêt

Parce que :la radio est un jQuery extension et ne fait pas partie de la CSS de la spécification, de requêtes à l'aide de :la radio ne peut pas profiter de la boost de performance fournis par les natifs de DOM querySelectorAll() la méthode. Pour de meilleures performances dans les navigateurs modernes, utilisez [type="radio"] au lieu de cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X