Как я могу использовать JQuery для поиска переключателя по его значению?
JQuery - найти переключатель по значению
Ответ 1
Попробуйте следующее:
$(":radio[value=foobar]")
Это приведет к выбору всех переключателей с атрибутом value="foobar"
.
Ответ 2
Я использую 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);
Ответ 3
Это также может быть достигнуто:
$('input[type="radio"][value="aaa"]').val();
Здесь будет выбрано радио, которое имеет значение aaa
С помощью метода .filter()
:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
Ответ 4
скажем, что у вас есть что-то подобное в 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()
Ответ 5
Полный селектор будет выглядеть следующим образом:
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">
Использование селектора ID, подобного этому (следующий пример), плохо, потому что у вас не должно быть нескольких элементов с одинаковым идентификатором. Я предполагаю, что кто-то, находящий этот вопрос, уже знает, что это плохо.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
Ниже приведено :radio
Потому что: radio - расширение jQuery, а не часть CSS спецификации, запросы с использованием: радио не может воспользоваться преимуществами повышение производительности, обеспечиваемое встроенным DOM-запросомSelectorAll() метод. Для повышения производительности в современных браузерах используйте [type = "radio" ] вместо этого.