获取具有特定值的复选框

时间:2012-06-07 10:30:54

标签: jquery checkbox

我想获取具有特定值的复选框并进行检查..

我这样做

$(":checkbox").filter({"value":5}).attr("checked","true");​

这是html

​<input type="checkbox" name="priv"​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ value="1"​​​​​​​​​​​​​​​​​/>
<input type="checkbox" name="priv" value="2"/>
<input type="checkbox" name="priv" value="3"/>
<input type="checkbox" name="priv" value="4"/>
<input type="checkbox" name="priv" value="5"/>
<input type="checkbox" name="priv" value="6"/>
<input type="checkbox" name="priv" value="7"/>
 <input type="checkbox" name="priv" value="8"/>​

这是问题的demo

8 个答案:

答案 0 :(得分:81)

您可以使用Attribute Equals Selector [name="value"]获取具有特定值的复选框。同样使用prop()代替attr(),因为jQuery doc推荐使用{。}}。

Live Demo

$(":checkbox[value=4]").prop("checked","true");

$("input[type=checkbox][value=5]").prop("checked",true);

说明:选择具有指定属性的元素,其值恰好等于某个值jQuery doc

您也可以使用attr(),但prop更适合布尔属性。

$(":checkbox[value=4]").attr("checked","true");
  

从jQuery 1.6开始,.attr()方法为属性返回undefined   尚未设定。检索和更改DOM属性,例如   选中,选中或禁用表单元素的状态,使用   .prop()方法,jQuery doc

编辑,在评论中询问,“看起来像具有复杂值的answer / find-expression,例如value =”Smith,David

您可以将 Smith,David 等类型的值括在单引号上。您甚至可以使用jQuery使用的字符,如#,。,$ etc,请参阅更新的小提琴here

$("input[type=checkbox][value='#Smith, David$']").attr("checked","true");

答案 1 :(得分:10)

$(":checkbox").filter(function() {
  return this.value == '5';
}).prop("checked","true");​

DEMO

如果您想将它用于不同的值,请将其设为通用,如下所示:

function checkWithValue(val) {
    $(":checkbox").filter(function() {
        return this.value == val;
    }).prop("checked", "true");
}


checkWithValue(5);​

<强> DEMO

答案 2 :(得分:4)

$("input:checkbox[value='5']").attr("checked","true")

答案 3 :(得分:2)

我有一个需要循环的动态值。这对我有用:

for (var i = 0, len = value.length; i < len; i++) {
  $("#form-name").find("input[type=checkbox][name='fName']").filter(function () {
    return this.value == values[i];
  }).prop("checked", true);
}

希望能帮助别人。

答案 4 :(得分:1)

它也适用于方形练习

 $(":checkbox").filter(["value":5]).prop("checked","true");

答案 5 :(得分:1)

有时我们希望动态获取特定值的复选框。

$(document).on('click','.at-filter a', function(){
    var aaa = $(this).parent().find("em").html();
    $("input[type=checkbox][value='"+aaa+"']").prop('checked',false)
});

答案 6 :(得分:0)

$(":checkbox[value=5]").attr("checked",true);​​​

答案 7 :(得分:0)

$("#catalogTBL").find("input[type=checkbox][value='snet']").prop("checked", true);

这是我能让这个工作的唯一方法。正在寻找表格中的复选框。