数据表列过滤器复选框不适用于 Ajax

Datatables column filter checkbox not working with Ajax

当使用 ajax 绑定数据表时,我的数据表列过滤器复选框消失。这是我的代码

$('#Table1').dataTable({
    "ajaxSource": "js/Group.JSON"
}).columnFilter({
    sPlaceHolder: "head:after",
    aoColumns: [
         { type: "checkbox", values: null },
         { type: "checkbox", values: null },
         { type: "checkbox", values: null },
         { type: "checkbox", values: null },
         { type: "checkbox", values: null },
         { type: "checkbox", values: null }
    ]
});

对正在发生的事情一无所知 - 我们所知道的是关于“当我从 ajax 获取数据时它不起作用”的评论 - 因此假设其他一切都很好,没有消息就是好消息等等;并注意到 ColumnFilter 是为 dataTables 1 构建的旧错误插件。9.x 有 +100 个未解决的问题,最后一次修复是将近 1.5 年前 - 那么我会说这是一个简单的问题 javascript异步性。

使用链接时

$('#Table1').dataTable({
    //some ajax stuff
}).columnFilter({ .. })

然后columnFilter({ .. })立即执行,它不会等到AJAX完成它的业务。结果是 columnFilter 初始化时没有加载数据。为防止这种情况,请在回调中初始化 columnFilter :

$('#Table1').dataTable({
    fnInitComplete : function() {
        this.columnFilter({
           sPlaceHolder: "head:after",
           ...
        })      
    }
})