Come utilizzerei JQuery per trovare un pulsante di opzione in base al suo valore?JQuery - trova un pulsante di opzione in base al valore
risposta
Prova questo:
$(":radio[value=foobar]")
Questo selezionerà tutti i pulsanti di opzione con l'attributo value="foobar"
.
sto usando jQuery 1.6 e questo non ha funzionato per me: $(":radio[value=foobar]").attr('checked',true);
Invece, sto usando: $('[value="foobar"]').attr('checked',true);
e funziona benissimo.
Il codice vero che sto utilizzando cancella le radio prima e la usa prop
invece di attr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
è un bug corretto? o dovremmo ancora mettere le virgolette attorno al valore? –
dire che hai qualcosa di simile nel codice 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>
allora questo genere di cose lavori.
$("fieldset input[name='UI_opt'][checked]").val()
Un selettore completa sarebbe simile a questa:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
dato che, probabilmente, si dispone di più di un gruppo pulsante di scelta come questo
<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">
Utilizzando un selettore di ID come questo (il prossimo esempio) è sbagliato perché non dovresti avere più elementi con lo stesso ID. Presumo che qualcuno che trova questa domanda sappia già che questo è male.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
quanto segue circa :radio
può essere o non essere di interesse
Perché: la radio è un'estensione jQuery e non fa parte della specifica CSS , query utilizzando: la radio non può approfittare della incremento delle prestazioni fornito dal metodo nativo DOM querySelectorAll() . Per prestazioni migliori nei browser moderni, usa invece [type = "radio"] .
Ciò può essere ottenuto anche questo:
$('input[type="radio"][value="aaa"]').val();
Questo selezionerà la radio che ha il valore di aaa
Con .filter()
metodo:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
Grazie L'ho usato come tale: jQuery.each (cookieObj, functio n (i, val) { $ (": radio [valore = val]"). attr ('checked', true); }); – van
@test: Prova invece: 'function (i, val) {$ (": radio [value = "+ val +"] "). Attr ('checked', true); } – Gumbo
per riferimento: http: //api.jquery.com/radio-selector/ –