首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >过滤jquery中的单选按钮,比较值

过滤jquery中的单选按钮,比较值
EN

Stack Overflow用户
提问于 2012-09-15 21:09:23
回答 3查看 4.7K关注 0票数 4

我有以下代码。尝试根据传入的数组值预填充单选按钮。将会是1-3

代码语言:javascript
运行
复制
<input name="rating1" type="radio" value="1" />
<input name="rating1" type="radio" value="2" />
<input name="rating1" type="radio" value="3" />

$(document).ready(function() {                         
    //Setting  up the radio buttons                    
    var $radios = $('input:radio[name=rating1]');
        //ratingAnswer is the value I need to select in the radio group. Value=2
    var ratingAnswer=answersArray[oneMap].RATING;
      if($radios.is(':checked') === false) {
        $radios.filter('[value=ratingAnswer]').attr('checked', true);
}

这不会返回任何结果,因为它查找字符串ratingAnswer作为值,而不是ratingAnswer的变量值。我试过value=‘+ ratingAnswer +’,但它一点也不喜欢。如何将变量注入到值区域。提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-09-15 21:13:25

代码语言:javascript
运行
复制
$radios.filter('[value="' + ratingAnswer + '"]').attr('checked', true);

如果这仍然不起作用,请仔细查看ratingAnswer的值,看看它是否是您所期望的。

示例: http://jsfiddle.net/6zAN7/1/

票数 6
EN

Stack Overflow用户

发布于 2012-09-15 21:13:49

您应该更改此行:

代码语言:javascript
运行
复制
 $radios.filter('[value=ratingAnswer]').attr('checked', true);

对于这一条:

代码语言:javascript
运行
复制
 $radios.filter('[value='+ratingAnswer+']').attr('checked', true);
票数 2
EN

Stack Overflow用户

发布于 2018-04-27 12:21:30

对此的一般解决方案-不假设值不会与jQuery选择器语法冲突-如下所示:

代码语言:javascript
运行
复制
$radios.filter(function() { return this.value == varWithValueToBeChecked; }).prop('checked', true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12437643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档