2017-06-10 5 views
1

非常に古いバージョンのDataTable Jquery lib、v 1.1.6を使用しています。フィルタリングされたすべてのデータをすべてのページで取得しようとしていますが、常にフィルタリングされていないデータが返されます。私はウェブ上で発見いくつかの方法を試してみましたが、それは私のために動作しませんJquery Datatableは、複数のページにわたってフィルタリングされたすべてのデータを取得します。

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.9.1 ..と言うことができます。参照しているメソッドは、1.6.xでは使用できませんでした。私は他のコードが1.6から1.9に変わることで失敗するのを見ることができません...ちょうど私の2つのc。 – davidkonrad

+0

ありがとう!良い提案!私はアップグレードを試みたが、うまくいかなかった。しかし、私は別の方法を見つけました。私は答えに投稿します。 – potbelly

答えて

1

私の問題を解決する解決策が見つかりました。 THIS LINKを参照してください。 DataTableの新しいバージョンに組み込まれているfnがあり

$.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; }; 

: はこれをしようとしました。しかし、古いバージョンを使用している場合。これを試すことができます。わたしにはできる。

関連する問題