簡體   English   中英

如何對 jquery 數據表中的數據應用過濾器?

[英]How to apply filter on data from a jquery datatable?

我有一個在 UI 上顯示的 jquery 數據表。 我想對數據表數據應用過濾器並將過濾后的數據存儲到一個變量中(不尋找過濾 UI 上的數據)。

我嘗試了下面的代碼,但它返回與原始數據表相同的行。

var filteredData = $('#table').DataTable().column(1).filter( function ( value, index ) {
        return value == 'test' ? true : false;
    } ).data();
$('#table').DataTable().column(1).filter( function ( value, index ) {
        console.log("VALUE: " + value);
        console.log("INDEX: " + index);
    } ).data();

這是接下來顯示的,不正確:

值:1 索引:0

所以……改成這樣:

var filteredData = $('#table').DataTable().column(1).data().filter( function ( value, index ) {
  return value=="P";
}).toArray();

console.log("FILTERED DATA: " + filteredData);

這是接下來顯示:

過濾數據:P,P

如您所見,這僅存儲您正在過濾的列...如果您想存儲其他列(以及一般情況下),我將使用其他方法(參考):

var array = [];

$('#table').DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) {
    var data = this.data();
    if (data[1] == "P"){
        array.push(data[5])
    }
    // ... do something with data(), or this.node(), etc
} );

console.log(array);

如您所見,這存儲了按第 1 列過濾的第 5 列的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM