【发布时间】:2011-01-11 12:36:36
【问题描述】:
我将如何使用 JQuery 根据其值查找单选按钮?
【问题讨论】:
标签: jquery radio-button
我将如何使用 JQuery 根据其值查找单选按钮?
【问题讨论】:
标签: jquery radio-button
这也可以实现:
$('input[type="radio"][value="aaa"]').val();
这将选择值为 aaa 的收音机
用.filter()方法:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
【讨论】:
aaa 然后返回'aaa'
完整的选择器如下所示:
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"] 而是。
【讨论】:
假设你在 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()
【讨论】:
我使用的是 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);
【讨论】:
试试这个:
$(":radio[value=foobar]")
这将选择属性为value="foobar"的所有单选按钮。
【讨论】:
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }