我正在使用jquery DataTables,我使用ajax使用
向表中添加更多行$.each(response.aaData, function (key, value) { var TicketId = value[0]; var FullName = value[1]; var TicketName = value[2]; var ReferenceNo = value[3]; var StartDate = value[4]; var ExpiryDate = value[5]; var Status = value[6]; var UserId = value[7]; var rowNode = oDTable.row.add([ TicketId, FullName, ' ' + TicketName, ReferenceNo, StartDate, ExpiryDate, "" + Status + "", UserId, ]).draw().node();
它完美地添加了行..
我有一个删除按钮来删除所有行。这里我使用删除代码
$('#EmployeesTicketsDT').on('click', 'tr.group button.del', function (e) { var confirm = window.confirm("This will remove usertickets from list, Do you want to proceed?"); if (confirm) { $('#EmployeesTicketsDT').DataTable().row($(this).closest('tr').nextUntil('tr.group').remove()) $('#EmployeesTicketsDT').DataTable().row($(this).closest('tr').remove()) } });
它将删除特定组下的所有行,并在到达下一组时停止。
但是当我重新添加记录时,它会添加一个带有ajax命中的双记录,而另一个记录是旧记录...已经通过了。
它应该只添加新记录而不是旧记录...请帮助...
答案 0 :(得分:1)
经过很长一段时间我得到了这个问题的解决方案,
我是用户
.empty()而不是
.remove()。
$('#EmployeesTicketsDT').on('click', 'tr.group button.del', function (e) {
var confirm = window.confirm("This will remove usertickets from list, Do you want to proceed?");
if (confirm) { $('#EmployeesTicketsDT').DataTable().row($(this).closest('tr').nextUntil('tr.group').empty())
$('#EmployeesTicketsDT').DataTable().row($(this).closest('tr').empty())
}
});
答案 1 :(得分:0)
尝试添加
"bDestroy" : true
在您的数据表对象init中,或者您也可以
$('yourtable').dataTable().fnDestroy();
然后重新创建它。