我如何使用JQuery按其值找到单选按钮?
答案 0 :(得分:135)
试试这个:
$(":radio[value=foobar]")
这将选择属性为value="foobar"
的所有单选按钮。
答案 1 :(得分:24)
我正在使用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);
答案 2 :(得分:19)
这也可以通过以下方式实现:
$('input[type="radio"][value="aaa"]').val();
这将选择值为aaa
的无线电使用.filter()
方法:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
答案 3 :(得分:5)
说你在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()
答案 4 :(得分:1)
完整选择器如下所示:
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选择器(下一个例子)是不好的,因为你不应该有多个具有相同ID的元素。我认为有人发现这个问题已经知道这很糟糕。
$("#DidYouEnjoyTheMovie:radio[value=yes]")
关于:radio
的以下内容可能会或可能不会引起关注
因为:radio是jQuery扩展而不是CSS的一部分 规范,查询使用:radio无法利用 本机DOM querySelectorAll()提供的性能提升 方法。为了在现代浏览器中获得更好的性能,请使用[type =“radio”] 代替。