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

how to check/uncheck checkbox by using value in query

本文关键字:取消 复选框 查询      更新时间:2023-09-26

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

将复选框元素的 checked 属性设置为 truefalse,即

el.checked = false;

如果你想用jquery来做,也使用attr函数和检查attibute

Hans 是对的,尽管el很可能是一个 jQuery 对象(在这种情况下.each方法返回 jQuery 对象。但正如安东尼向我指出的那样,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');

感谢安东尼指出我对$.each.each的行为的厚脸皮:)

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

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

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

Jquery API Prop((

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

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