当用户点击按钮选择单个表格中的所有复选框时,我会使用此代码。
$("#workOneTable .rsvLine input[type=checkbox]").each(function() {
if (!$(this).prop("checked")) {
this.click();
}
});
当代码运行时,我得到$ apply已在进行中的错误,而我根本没有调用$ apply。 我必须对所选表格中的每个复选框执行单击,同时将复选框所在的每一行添加到列表数组中。如果我将此代码包装在$ timeout中,我不会收到错误,但我的复选框也不会被检查。
非常感谢任何帮助。
修改
这是工作代码。
if (!$(this).prop("checked")) {
var a = $(this);
setTimeout(function() {
a.click();
})
}
答案 0 :(得分:1)
您的点击事件正在运行与当前摘要周期冲突的摘要周期。你可以使用setTimeout()
if ( !$( this ).prop( "checked" ) )
{
this.click();
}
到
if ( !$( this ).prop( "checked" ) )
{
var a = $(this);
setTimeout(function(){a.click();})
}