JQuery - 按值查找单选按钮
Posted
技术标签:
【中文标题】JQuery - 按值查找单选按钮【英文标题】:JQuery - find a radio button by value 【发布时间】:2011-01-11 12:36:36 【问题描述】:我将如何使用 JQuery 根据其值查找单选按钮?
【问题讨论】:
【参考方案1】:这也可以实现:
$('input[type="radio"][value="aaa"]').val();
这将选择值为 aaa 的收音机
用.filter()
方法:
var radio = $('input[type="radio"]').filter(function()
return this.value === 'aaa';
).val();
【讨论】:
这实际上会选择所有单选按钮并将其更改其值 为aaa
然后返回'aaa'
【参考方案2】:
完整的选择器如下所示:
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"] 而是。
【讨论】:
【参考方案3】:假设你在 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】:我使用的是 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);
【讨论】:
这是一个已修复的错误吗?还是应该在值周围加上引号?【参考方案5】:试试这个:
$(":radio[value=foobar]")
这将选择属性为value="foobar"
的所有单选按钮。
【讨论】:
谢谢我这样使用它:jQuery.each(cookieObj, function(i, val) $(":radio[value=val]").attr('checked',true); ); @test:试试这个:function(i, val) $(":radio[value="+val+"]").attr('checked',true);
@Gumbo 如果我们给这个函数一个名字,我们可以这样称呼它吗?:$checkedRadioValues = findChecked("value");以上是关于JQuery - 按值查找单选按钮的主要内容,如果未能解决你的问题,请参考以下文章