我试图触发未选中的复选框,所以我在谷歌的帮助下尝试了很多,但我找不到解决方案,
尝试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 else,现在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");
}
}
答案 0 :(得分:3)
您可以通过以下方式完全更改第二次尝试:
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");