繁体   English   中英

触发复选框时jQuery中的太多递归错误

[英]too much recursion error in jQuery when trigger the checkbox

我试图触发未选中的复选框,所以我在Google的帮助下尝试了很多,但仍然找不到解决方案,

尝试1:

jQuery(".checkbox").attr("checked", false).trigger("click");

使用尝试1时,我的OP中没有任何更改,

尝试2:

jQuery(".checkbox:checkbox").each(function() {
    var code = jQuery(this).val();
    var all_list = jQuery("#all_listings").val().split(",");

    if (jQuery.inArray(code,all_list) >= 0) {
        return false;
    }
    else {
        jQuery(this).trigger("click");
    }
});

使用尝试2会返回错误too much recursion

那么如何避免这个错误呢? 或如何触发未选中的复选框?

谢谢!

解决:@praveen kumar帮助下attempt 2解决了问题,我更改了if if,现在解决too much recursion

jQuery(".checkbox:checkbox").each(function() {
        var code = jQuery(this).val();
        var all_list = jQuery("#all_listings").val().split(",");
        if(jQuery.inArray(code,all_list) == -1){
           jQuery(this).trigger("click");
        }
    }

您可以将“ 第二次尝试”完全更改为这种方式:

jQuery(".checkbox:checkbox:not(:checked)").trigger("click");

希望这可以帮助!


您需要使用这种方式:

jQuery(".checkbox").filter(function () {
  return (jQuery(this).prop("checked") == false);
}).trigger("click");

或者您可以使用:

jQuery(".checkbox").filter(function () {
  return (this.checked == false);
}).trigger("click");

或更简单:

$('.checkbox:not(:checked)').trigger("click");

暂无
暂无

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

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