使用fnDrawCallback取消选中DataTables的复选框

使用fnDrawCallback取消选中DataTables的复选框,datatables,jquery-datatables,Datatables,Jquery Datatables,我在桌子的底部有一个复选框。如果数据表被重新绘制(通过过滤、搜索、分页等等),我想确保这是未选中的 "fnDrawCallback": function() { $(".checkboxes").uniform(); $(".table-checkbox input[type=checkbox]").attr('checked', false); alert( 'DataTables has redrawn the table' ); } 统一调用修复了datatable中的样式化

我在桌子的底部有一个复选框。如果数据表被重新绘制(通过过滤、搜索、分页等等),我想确保这是未选中的

"fnDrawCallback": function() {
  $(".checkboxes").uniform();
  $(".table-checkbox input[type=checkbox]").attr('checked', false);
  alert( 'DataTables has redrawn the table' );
}
统一调用修复了datatable中的样式化问题。。。警报仅在每次重画后显示

.table复选框在datatable之外而不是动态的(它显式地在thead的html中)重要吗?我只是想确保它总是在表重画时被取消选中

编辑:

以下作品。。。有更好的方法吗?很显然,我也需要给制服打电话才能做到这一点

"fnDrawCallback": function() {
  $(".table-checkbox input[type=checkbox]").attr('checked', false);
  $(".checkboxes").uniform();
  $(".group-checkable").uniform();
  alert( 'DataTables has redrawn the table' );
}

在我看来,这是一个普遍的制服问题。在上面的示例中,您首先按代码取消选中复选框,然后将所有复选框重新斜体化,使它们看起来像是由代码取消选中的,但实际上它们只是重新初始化/重新统一了'

查看此问题(和答案)->

您需要的唯一代码是

fnDrawCallback:function(){
$(this).find('thead input[type=checkbox])。removeAttr('checked');
$.uniform.update();
}
如果使用排序,则应将
fnDrawCallback
替换为
fnInfoCallback
,因为在这种情况下,
fnDrawCallback
即使仅单击复选框也会被激发