我知道这个问题很受欢迎,但所有答案都是针对选定的行。我试图删除/删除未选中的行。我有一个表的变量,我要从中删除行,并且我有要删除的行的索引。
这些是获取表格或行的句柄的各种方法:
var table = $('#tableName');
var rows = $('#tableName tbody tr').toArray();
var oTable = $('#tableName').dataTable();
我知道如何在所选行上使用row.remove()
方法。
var jThisButton = $(this);
var jRow = jThisButton.parents("tr");
jRow.remove();
但我的行未被选中;相反,我有一个索引。假设我的索引是2.使用类似上面代码的东西,也许我可以逐行索引并将其删除如下:
var jRow = table.find('tr').eq(index);
jRow.remove();
除非不起作用。该代码将我想要删除的行移动到最后一行,并且显示搜索栏。
您可以在下图中看到表格中有4行。
如何删除索引2中存在的tr?
我无法在任何地方找到这个问题的答案。请帮忙!
答案 0 :(得分:4)
试试这个:
oTable.row(index).remove().draw();
从DOM中删除tr不会将其从DataTable中删除。 如果再次绘制DataTable,则删除的行将返回查看。
remove()
将从DataTable中删除该行,并且调用draw()
将更新DataTable。这也将更新行计数信息。
<强>更新强>
对于DataTable 1.9.4,以下代码将起作用
oTable.fnDeleteRow(index);
draw()
之后刷新DataTable时,不需要 fnDeleteRow()
答案 1 :(得分:1)
试试这个:
$("tr").eq(1).remove();
答案 2 :(得分:1)
fnDeleteRow是正确使用的功能,但它并不像你想象的那样直截了当:
$('#delete').click(function(e){
var row = oTable.find('tr').eq(3);
oTable.fnDeleteRow(row[0]);
})
有关正常工作的版本,请参阅here。