[英]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.