【问题标题】:uncheck checkbox with fnDrawCallback for DataTables使用 fnDrawCallback 取消选中 DataTables 的复选框
【发布时间】:2013-12-08 17:57:36
【问题描述】:

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

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

uniform 调用修复了数据表中的样式化问题...警报只是在每次重绘后显示。

.table-checkbox 在数据表之外而不是动态的(它明确地在thead 的 html 中)是否重要?我只是想确保在重绘表格时始终未选中它。

编辑:

以下工作......有没有更好的方法来做到这一点?显然,我还需要在 thead 上调用 uniform 来执行此操作。

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

【问题讨论】:

    标签: datatables jquery-datatables


    【解决方案1】:

    在我看来,这是一个普遍的统一问题。在上面,您首先通过代码取消选中复选框,然后重新初始化所有复选框,因此它们似乎没有被代码选中,但实际上它们只是重新初始化/重新统一'!

    查看这个问题(和答案)-> jQuery Uniform Checkbox does not (un)check

    您应该需要的唯一代码是

    fnDrawCallback: function() {
       $(this).find('thead input[type=checkbox]').removeAttr('checked');
       $.uniform.update();
    }
    

    如果您使用排序,则应将 fnDrawCallback 替换为 fnInfoCallback,因为在这种情况下,即使您仅单击复选框,fnDrawCallback 也会被触发!

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 2013-11-19
      • 2012-01-02
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 2013-08-04
      相关资源
      最近更新 更多