1

HTML 代码:

<form id="myform">
 <input type='checkbox' name='foo[]' value='1'>
 <input type='checkbox' name='foo[]' checked='true' value='2' >
 <input type='checkbox' name='foo[]' value='3' >
 <input type='checkbox' name='foo[]' checked='true' value='4' >
</form>

JS代码:

$('input[name=foo]:checked').each(function(i,el){
    if(clusterVal == 'ALL')
        {
            /* what do I have to do here? */
        }
    array.push($(el).val());
});

如何通过在查询中使用值来选中/取消选中复选框

4

5 回答 5

3

从 jQuery 1.6 开始, .prop() 方法提供了一种显式检索属性值的方法,而 .attr() 检索属性。

试试这个..但这只是演示如何检查和取消选中

演示

 $(function(){
        var el=$('input:checkbox[name="foo[]:checked"]');

        el.each(function()
          {
                         $(this).prop('checked', true);
          });
    });
于 2012-08-03T11:25:00.913 回答
2

将checkbox 元素的checked属性设置为truefalse,即

el.checked = false;

如果你想用 jquery 来做,也可以使用attr函数和检查的属性

于 2012-08-03T11:16:28.283 回答
1

Hans 是对的,虽然el很可能是一个 jQuery 对象(.each在这种情况下方法返回 jQuery 对象。正如 Anthony 指出的那样,情况并非总是如此。)但正如 Anthony 向我指出的那样,el并不总是纯粹的 dom目的。它有时可能是一个 jQuery 对象,因此该checked属性不一定可用。处理这些情况的几种方法:

$(el).get(0).checked = false;
$(el).removeAttr('checked');//or $(el).attr('checked',false);

$(el).get(0).checked = true;
$(el).attr('checked','checked');

感谢 Anthony 指出我对$.each.each的行为的笨拙 :)

于 2012-08-03T11:21:48.213 回答
0

使用 prop 或 attr 来执行此操作。像这样的东西

$(el).attr("checked", "checked");

或者

$(el).prop("checked", true);
于 2012-08-03T11:19:29.770 回答
0

Jquery API Prop()

您可以选中或取消选中以下元素

$(element).prop('checked',true); // check
$(element).prop('checked',false); // uncheck
于 2012-08-03T11:21:28.903 回答