当使用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 }
]
});
答案 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",
...
})
}
})