[英]How to get last inserted row from a datatable
我使用数据表插件来创建一个数据表。 我放了一个按钮来添加新行。 新插入的行可以在任何位置,具体取决于表的排序依据。 插入后,我需要为行内的按钮设置一个事件。 所以我必须得到最后插入的行才能这样做。 但我找不到办法。 我在下面尝试过,但它不起作用。 index()
不会返回行实际所在的确切索引。
var row = table.row.add({...});
row.draw();
var tr = $('#datatable tbody tr').get(row.index());
请帮忙。 非常感谢您的回答,并在此先感谢您。
取表的长度和
-1
,该数字是最后一个tr
的index
var lastRowIndex = $('#datatable tr').length -1;
无法使用任何插件提供的功能找到解决此问题的方法。 但谢天谢地,有一个解决方法。
在列渲染功能中标记插入的行。 例如,我附加一个标签
datatable = $('#datatable').DataTable({columns : [{render : function(){... <last/> ...}}]});
在插入新行时,插入一个指示包含标志的数据。 通过标志获取行。 然后取下标志。
datatable.row.add({...}).draw();
var row = $('last').parents('tr');
$('last').remove();
对于不需要显式编辑
<tr>
任何其他情况,获取最后插入行的索引。 获取数据表行并更新数据。 设置列渲染函数以相应地渲染更新的行。
var i = datatable.rows().count() - 1;
var data = datatable.row(i).data();
datatable.row(i).data(changeSomething(data)).draw();
并删除行
datatable.row(i).remove().draw();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.