我正在尝试在datatable中实现自定义过滤。但我在控制台中收到此错误:
无法读取属性'推送'未定义的
我有以下代码:
AND update-stared < now() - '20 minutes::INTERVAL'
这里有什么问题?
答案 0 :(得分:1)
如果您想通过调用DataTable()
来使用API,则需要使用dataTable()
代替table.draw()
来初始化您的表格,有关详细信息,请参阅API。
如果您使用的是jQuery DataTables的较新版本(1.10),则最好$.fn.dataTable.ext.search.push()
,请参阅Search plug-ins。
完成搜索后,您需要致电$.fn.dataTable.ext.search.pop()
以删除过滤器。
例如:
var table = $('#example').DataTable();
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
return (data[0] == 'Airi Satou');
}
);
table.draw();
$.fn.dataTable.ext.search.pop();
请参阅this example进行演示。
但是,push()
和pop()
方法适用于复杂搜索。如果您要搜索一列,则有column().search()
API方法。
例如:
var table = $('#example').DataTable();
table.column(0).search('Airi Satou').draw();
请参阅this example进行演示。