我使用的是非常旧版本的DataTable Jquery lib,v 1.1.6。我试图在所有页面上获取所有过滤的数据,但它总是返回整个未过滤的数据。这是我得到的:
var getAllFilteredData = function() {
var tableData = $('#myTable').dataTable({"bFilter": "applied"}).fnGetData();
...//do sth with the data;
}
我尝试过在网络上找到的几种方法,但它对我不起作用,大多数人说"功能没有定义"。我假设这是因为我的版本。
$('#myTable').dataTable().$('tr', {"filter":"applied"}));
$("#myTable").dataTable()._('tr', {"filter":"applied"});
$("#myTable").dataTable().fnFilter("some text");
我尝试不升级我的版本,因为它会破坏其他代码。
有谁知道如何解决这个问题?请帮忙..谢谢!!!!
答案 0 :(得分:1)
找到解决我问题的解决方案。请参阅THIS LINK。 试过这个:
$.fn.dataTableExt.oApi.fnGetFilteredNodes = function ( oSettings ) {
var anRows = [];
for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ ) {
var nRow = oSettings.aoData[ oSettings.aiDisplay[i] ].nTr;
anRows.push( nRow );
}
return anRows; };
新版本的DataTable中有一个内置的fn。但是如果你使用的是旧版本。你可以试试这个。这个对我有用。