【问题标题】:jquery datatable adding removed rocords to datatable again when add new datajquery datatable 在添加新数据时再次将删除的记录添加到数据表中
【发布时间】:2015-01-17 01:03:26
【问题描述】:

我正在使用 jquery DataTables,我使用 ajax 向表中添加更多行

$.each(response.aaData, function (key, value) { var TicketId = value[0]; var 全名 = 值 [1]; var TicketName = 价值[2]; var ReferenceNo = value[3]; var StartDate = value[4]; var ExpiryDate = 价值[5]; var状态=值[6]; var UserId = 值[7]; var rowNode = oDTable.row.add([ 票号, 全名, ' ' + TicketName, 参考编号, 开始日期, 到期日, "" + 状态 + "", 用户身份, ]).draw().node();

它完美地添加了行..

我有一个删除按钮来删除所有行。这里我使用的是删除代码

$('#EmployeesTicketsDT').on('click', 'tr.group button.del', function (e) { var confirm = window.confirm("这将从列表中删除用户票,您要继续吗?"); if (confirm) { $('#EmployeesTicketsDT').DataTable().row($(this).closest('tr').nextUntil('tr.group').remove()) $('#EmployeesTicketsDT').DataTable().row($(this).closest('tr').remove()) } });

它将删除特定组下的所有行,并在到达下一个组时停止。

但是当我重新添加记录时,它正在添加双记录,一个是 ajax 命中,另一个是旧的......很奇怪。

它应该只添加新记录而不是旧记录...请帮助...

【问题讨论】:

  • 您使用的是服务器端数据源吗?
  • 是的,我正在使用服务器端数据源,但使用 ajax 和 datatable 的 row.add() 方法添加行。

标签: jquery jquery-datatables


【解决方案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())
        }
    });

【讨论】:

  • 谢谢,为我工作。我很惊讶这不是一个更常见的问题。
【解决方案2】:

尝试添加

"bDestroy" : true

在您的数据表对象初始化中,或者您可以

 $('yourtable').dataTable().fnDestroy();

然后重新创建它。

【讨论】:

  • 我已经在使用“bDestroy”:true,但这不是解决方案。问题是 row.remove() 删除所有行。我检查了表体。 remove() 之后没有行,但是当我重新添加新记录时,它也会自动附加旧记录...
  • 还有一件事我无法清除()或销毁()数据表,因为它包含多个组,并且每个组下都有行。如果我在一个组上单击删除,它只会删除单击的组行而不是其他组的..
猜你喜欢
  • 2013-09-21
  • 1970-01-01
  • 1970-01-01
  • 2016-09-10
  • 2015-04-01
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 2016-07-10
相关资源
最近更新 更多