JQuery - 按值查找单选按钮

时间:2010-01-31 21:53:44

标签: jquery radio-button

我如何使用JQuery按其值找到单选按钮?

5 个答案:

答案 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”]   代替。