2010-01-31 19 views

risposta

129

Prova questo:

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

Questo selezionerà tutti i pulsanti di opzione con l'attributo value="foobar".

+0

Grazie L'ho usato come tale: jQuery.each (cookieObj, functio n (i, val) { $ (": radio [valore = val]"). attr ('checked', true); }); – van

+3

@test: Prova invece: 'function (i, val) {$ (": radio [value = "+ val +"] "). Attr ('checked', true); } – Gumbo

+0

per riferimento: http: //api.jquery.com/radio-selector/ –

23

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); 
+0

è un bug corretto? o dovremmo ancora mettere le virgolette attorno al valore? –

5

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() 
0

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"] .

16

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(); 
+1

questo in realtà selezionerà tutti i pulsanti di opzione e ** cambierà i loro valori ** in 'aaa' e restituirà '' aaa'' – bendman

+1

@bendman Sì, giusto, ha modificato la risposta – Jai

Problemi correlati