答案 0 :(得分:3)
$ .fn.dataTableExt.afnFiltering var是一个过滤函数数组。当你调用方法fnDraw()或初始化程序dataTable()时,它们会执行。
如果您想在单击按钮时执行,则必须执行以下操作:
例如:
$(document).ready(function(){
/* Initialise datatables */
var oTable = $('#example').dataTable();
$("#mybutton").click(function() {
//Creating of our own filtering function
$.fn.dataTableExt.afnFiltering.push(
function(oSettings, aData, iDataIndex) {
//Only shows columns with a Engine between 2 and 5
var engineColumn = parseInt(aData[3]);
if (engineColumn >= 2 && engineColumn <= 5)
return true;
return false;
}
);
//Update table
oTable.fnDraw();
//Deleting the filtering function if we need the original table later.
$.fn.dataTableExt.afnFiltering.pop();
});
});
您可以参考以下链接中的完整功能示例:Example
我希望这对我的英语有用而且很抱歉。
编辑:我对原始回复进行了一些更改,因为我做了一些错误的假设。我道歉。答案 1 :(得分:2)
看起来DataTable的API已被修改,当我更改时,您的示例运行正常
$.fn.dataTableExt.afnFiltering.push(...
到
$.fn.DataTable.ext.search.push(...
和pop()相似;