Відповіді:
Спробуйте це:
$(":radio[value=foobar]")
Буде вибрано всі перемикачі з атрибутом value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
Я використовую jQuery 1.6, і це не спрацювало для мене: $(":radio[value=foobar]").attr('checked',true);
Натомість я використовую: $('[value="foobar"]').attr('checked',true);
і це чудово працює.
Фактичний код, який я використовую, спочатку очищає радіо і використовує prop
замістьattr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
Цього можна досягти і цим:
$('input[type="radio"][value="aaa"]').val();
Це вибере радіо, яке має значення aaa
З .filter()
методом:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
aaa
потім повернути'aaa'
скажімо, у вас є щось подібне в 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>
тоді подібні речі працюють.
$("fieldset input[name='UI_opt'][checked]").val()
Повний селектор виглядатиме так:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
враховуючи, що у вас, ймовірно, є більше однієї такої групи перемикачів
<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">
Використовувати селектор ідентифікатора, як цей (наступний приклад), погано, оскільки у вас не повинно бути декількох елементів з однаковим ідентифікатором. Я припускаю, хтось, хто знайшов це питання, вже знає, що це погано.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
Наступне про те, що :radio
може представляти чи не цікавити
Оскільки: radio - це розширення jQuery і не є частиною специфікації CSS, запити, що використовують: radio, не можуть скористатися перевагами підвищення продуктивності, передбаченими власним методом DOM querySelectorAll (). Для кращої роботи в сучасних браузерах використовуйте замість [type = "radio"].