簡體   English   中英

當數據表插件中允許分頁時,Jquery 查找功能不起作用

[英]Jquery find function not working when paging allowed in datatables plugin

在實現其他情況之前,我成功地使用了數據表,但是當我啟用分頁時,我在循環其他行時遇到了問題。

我正在使用使用 Jquery 的 find 函數循環遍歷表中的行,但它只遍歷顯示的行,而不會轉到數據表的第二頁。

這是一個工作小提琴https://jsfiddle.net/czarluc/5cm7rgvy/

這是我使用的功能。

function getTotalRows(){
  var counter = 0;
    $("#item_table").find('tr.tablerow').each(function (i, el) {
      counter += 1;
    });
  return counter
  }

總共有 20 行,但是當我執行該函數時,它只返回 5。

是否有任何替代功能或實現可用?

編輯:如果我禁用分頁,這將正常工作,但我只想看看如何使其在啟用分頁的情況下工作。

看來我使用了錯誤的功能。 我把這個放上來以防萬一有人遇到同樣的問題。

要訪問數據表中的行,請使用rows().node() 函數而不是Jquery find 函數,然后使用foreach 函數循環遍歷行。 還將引用數據存儲到一個變量中,然后使用它來訪問 rows().node() 函數。

這是正確的代碼。

var table = $("#item_table").DataTable({
    pageLength : 5,
    lengthMenu: [[5, 10, 20, 50], [5, 10, 20, 50]],
    "columnDefs": [ {"className": "text-center", "targets": "_all"} ]
  });

function getTotalRowsv2(){
  var counter = 0;
    $(table.rows().nodes()).each(function(i, el){
      counter += 1;
    });
  return counter;
  }

無論分頁如何,此函數都會遍歷所有行。 它還按預期返回 20。 這是文檔鏈接。 https://datatables.net/reference/api/rows().nodes()

暫無
暫無

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

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