数据表列筛选器复选框无法使用Ajax

时间:2015-07-23 10:41:07

标签: jquery ajax datatables

当使用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 }
    ]
});

1 个答案:

答案 0 :(得分:2)

在不知道发生了什么的情况下 - 我们所知道的是关于“当我从ajax 获取数据时它不起作用”的评论 - 因此假设其他一切工作都很好,没有新闻是好消息等;并注意到ColumnFilter是一个为dataTables 1.9.x构建的旧错误插件,其中包含+100开放问题,最后修复时间接近1年半 - 然后我会说这是一个简单的javascript异步性问题。

使用链接时

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

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

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