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”]。