JQuery – 按值查找单选button

我将如何使用JQuery通过它的值来查找单选button?

尝试这个:

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

这将select属性value="foobar"所有单选button。

我正在使用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(); 

这将select具有aaa值的无线电


使用.filter()方法:

 var radio = $('input[type="radio"]').filter(function(){ return this.value === 'aaa'; }).val(); 

说你在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() 

一个完整的select器将如下所示:

 bool shipToBilling = $("[name=ShipToBillingAddress][value=True]") 

因为你可能有多个这样的单选button组

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

使用像这样的IDselect器(下一个例子)是不好的,因为你不应该有多个具有相同ID的元素。 我认为有人发现这个问题已经知道这是不好的。

 $("#DidYouEnjoyTheMovie:radio[value=yes]") 

以下是关于:radio可能会或可能不感兴趣

因为:radio是一个jQuery扩展,而不是CSS规范的一部分,使用radio的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。 为了在现代浏览器中获得更好的性能,请使用[type =“radio”]。