繁体   English   中英

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

[英]how to check/uncheck checkbox by using value in query

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());
});

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

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

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

演示

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

        el.each(function()
          {
                         $(this).prop('checked', true);
          });
    });

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

el.checked = false;

如果要使用jquery进行此操作,请同时使用attr函数和选中的 attibute

汉斯是对的, 尽管 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的行为上$.each .each :)

使用道具或属性来执行此操作。 像这样

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

要么

$(el).prop("checked", true);

jQuery API Prop()

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

$(element).prop('checked',true); // check
$(element).prop('checked',false); // uncheck

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM