Antworten:
Versuche dies:
$(":radio[value=foobar]")
Dadurch werden alle Optionsfelder mit dem Attribut ausgewählt value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
Ich verwende jQuery 1.6 und dies hat bei mir nicht funktioniert: $(":radio[value=foobar]").attr('checked',true);
Stattdessen benutze ich: $('[value="foobar"]').attr('checked',true);
und es funktioniert großartig.
Der tatsächliche Code, den ich verwende, löscht zuerst die Funkgeräte und verwendet prop
stattdessenattr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
Dies kann auch dadurch erreicht werden:
$('input[type="radio"][value="aaa"]').val();
Dadurch wird das Radio ausgewählt, das den Wert aaa hat
Mit .filter()
Methode:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
aaa
dann den'aaa'
Angenommen, Sie haben so etwas im 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>
dann funktioniert so etwas.
$("fieldset input[name='UI_opt'][checked]").val()
Ein vollständiger Selektor würde folgendermaßen aussehen:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
vorausgesetzt, Sie haben wahrscheinlich mehr als eine Optionsfeldgruppe wie diese
<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">
Die Verwendung eines solchen ID-Selektors (nächstes Beispiel) ist schlecht, da Sie nicht mehrere Elemente mit derselben ID haben sollten. Ich gehe davon aus, dass jemand, der diese Frage findet, bereits weiß, dass dies schlecht ist.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
Das Folgende über :radio
kann von Interesse sein oder auch nicht
Da: radio eine jQuery-Erweiterung ist und nicht Teil der CSS-Spezifikation ist, können Abfragen mit: radio die Leistungssteigerung der nativen DOM-Methode querySelectorAll () nicht nutzen. Verwenden Sie stattdessen [type = "radio"], um eine bessere Leistung in modernen Browsern zu erzielen.