You must使用“老派”dataTable()
使用时的构造函数columnFilter
。概念证明:
不起作用,产生与问题相同的错误:
1.10.x 实例化的 columnFilterDataTable()
-> http://jsfiddle.net/87kam74q/ http://jsfiddle.net/87kam74q/
works :
1.10.x 实例化的 columnFilterdataTable()
-> http://jsfiddle.net/LvL4vm8e http://jsfiddle.net/LvL4vm8e/
原因是,columnFilter
假设它正在使用“旧”jQuery 对象,而不是新的 API 对象。不过,您仍然可以通过以下方式访问新的 API:.api()
方法,例如:
var table = $('#example').dataTable();
table.api().search('test').draw();
如果你不想经历table.api()
对于使用新的AP,并坚持使用DataTable()
,您可以通过放弃链接来实现相同的目的:
var table = $('#example').DataTable();
$('#example').dataTable().columnFilter({
sPlaceHolder : 'head:before',
aoColumns: [ { type: "text"},
{ type: "text"},
{ type: "text"},
{ type: "text"},
{ type: "text"}
]
});
小提琴->http://jsfiddle.net/qbr01oya/ http://jsfiddle.net/qbr01oya/。这不会导致 dataTable 被初始化两次(dataTables 检查这一点)。