请您查看 this demo ,并告诉我为什么我无法从dataTables表中删除一行?
例如在演示中,我试图通过
删除/删除第三个插入的行到表中$('#deleteRow').on( 'click', function () {
$('tr').eq(4).remove();
} );
但是只要我添加一个新行,删除的行也会出现在表格中!
你能告诉我我做错了什么以及如何解决这个问题吗?
答案 0 :(得分:3)
始终通过API!使用
$('#deleteRow').on( 'click', function () {
t.row(2).remove().draw();
} );
相反。 row(2)
因为您要删除第三行,行索引基于零。更新小提琴 - >的 https://jsfiddle.net/5sb9uya6/1/ 强>
答案 1 :(得分:0)
请注意,此方法会从表中删除数据 在内部,但直到抽奖(),行动不会在视觉上显示 调用方法来更新显示。这种方法可以简单地调用 作为rows()的链式方法.remove()方法的返回对象 - 例如table.rows()。remove()。draw();.这种方法用于 如果要删除多行,则减少所需的绘制次数 优化。
$(document).ready(function () {
var t = $('#example').DataTable();
var counter = 1;
$('#addRow').on('click', function () {
t.row.add([
counter + '.1',
counter + '.2',
counter + '.3',
counter + '.4',
counter + '.5']).draw(false);
counter++;
});
$('#deleteRow').on('click', function () {
var ind=$('tbody > tr:last').index();
t.rows(ind).remove().draw()
});
});