[英]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.