我的asp.net-4.5页中有一个如下数据表:
Name City Value Action
A B 10 delete
X Y 10 delete
T R 10 delete
ALL ALL 30
HTML表通过$(#example).datatable()
转换为这样的数据表
当点击“删除”链接时,相关行将被删除,包括ALL在内的行的值将在javascript中更新。因此,在这里,如果我删除第一行,则该表将如下所示,而无需刷新任何页面。
Name City Value Action
X Y 10 delete
T R 10 delete
ALL ALL 20
这里的一个问题是,具有ALL TOTAL的行可以位于其他任何地方,它并不总是在表的末尾。用户可以通过单击列对表进行重新排序。例如,如果单击“值”列,则包含ALL的行将成为第一行。
这时,我想找到行所在的位置。为此,我有一个如下所示的for循环:
for (var i = 0, r; r = document.getElementById("example").rows[i]; i++) {
if ($('#example').find("tr:eq(" + i + ")").find("td:eq(2)").html() == 'ALL') {
locateALLrow = i;
break;
}
}
上面的这个for循环非常完美,当只有1页数据(一页包含10行)时。所以我的问题:
1-如何遍历其他页面中的其他行?上面的此循环仅适用于前10行并停止。如何将其扩展到所有表?
2-有没有更好的方法来定位包含ALL(作为“名称”列)的行的索引。
任何建议将不胜感激。谢谢!
编辑:尝试了如下所示的循环,未解决:
for (var i = 0; i<document.getElementById("example").getElementsByTagName("tr").length; i++)
{...}
答案 0 :(得分:0)
1-如何遍历其他页面中的其他行?上面的此循环仅适用于前10行并停止。如何将其扩展到所有表?
使用分页时,请尝试遍历仅显示前n行数据的html表,而不要使用 datatable API 。这样您就可以遍历完整的数据。 https://datatables.net/reference/api/rows().data()
2-是否有更好的方法来定位包含ALL(作为“名称”列)的行的索引。
与上述相同。使用数据表API ,而不是遍历当前html显示的数据。