JQuery – trouve un bouton radio par valeur

Comment utiliser JQuery pour trouver un bouton radio en fonction de sa valeur?

J’utilise jQuery 1.6 et cela n’a pas fonctionné pour moi: $(":radio[value=foobar]").attr('checked',true);

J’utilise plutôt: $('[value="foobar"]').attr('checked',true); et ça marche super bien.

Le code que j’utilise efface les radios en premier et utilise prop au lieu de attr

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

Cela peut être réalisé par ceci aussi:

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

Cela sélectionnera la radio qui a la valeur de aaa


Avec la méthode .filter() :

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

dis que vous avez quelque chose comme ça dans le HTML:

 
Alerter
Printer
Consoler

alors ce genre de chose fonctionne.

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

Un sélecteur complet ressemblerait à ceci:

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

étant donné que vous avez probablement plus d’un groupe de boutons radio comme celui-ci

     

Utiliser un sélecteur d’ID comme celui-ci (exemple suivant) est mauvais car vous ne devriez pas avoir plusieurs éléments avec le même ID. Je suppose que quelqu’un qui trouve cette question sait déjà que c’est mauvais.

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

Les éléments suivants concernent :radio peut ou peut ne pas être d’intérêt

Parce que: la radio est une extension jQuery et ne fait pas partie de la spécification CSS, les requêtes utilisant: radio ne peuvent pas tirer parti de l’augmentation de performances fournie par la méthode native DOM querySelectorAll (). Pour de meilleures performances dans les navigateurs modernes, utilisez plutôt [type = “radio”].