【问题标题】:JQuery Datatable add new row,if the row is already present remove it and insert new row for that IDJQuery Datatable 添加新行,如果该行已经存在,则删除它并为该 ID 插入新行
【发布时间】:2016-03-02 09:28:24
【问题描述】:

尝试使用以下方法删除行

table.DataTable().row().remove().draw();

我尝试使用以下方法添加

1) table.dataTable().fnAddData(jsonObject);

2)table.DataTable().row.add(jsonObject).draw();

添加不起作用,它正在删除旧数据,并且在重绘后再次显示该行中的旧数据。

首先我进行 ajax 调用并从数据库中获取数据,之后我需要在客户端添加数据而不进行 ajax 调用。

      this.updateTableandMap=function(jsonObject){
    if(jsonObject!=null){
var curTimeStamp=$('tr#'+jsonObject.trackeeId+'>td:eq(0)>a').attr('data-date-time-stamp');
        if(jsonObject.dateAndTime>curTimeStamp){
            $('#records-short').DataTable().row( $('#records-short>tbody>tr#'+jsonObject.trackeeId+'')).remove().draw();    
        //  $('#records-short').DataTable().row.data(jsonObject).draw();
        //  $('#records-short').dataTable().fnAddData(jsonObject);  
        }else if(curTimeStamp==undefined){
            $('#records-short').DataTable().row( $('#records-short>tbody>tr#'+jsonObject.trackeeId+'')).remove().draw();
            $('#records-short>tbody>tr#'+jsonObject.trackeeId+'').remove();

            $('#records-short').DataTable().row.add(jsonObject).draw();
        }
    }

    };

【问题讨论】:

  • 请分享您的脚本
  • 嗨@HiralNayak 我已经分享了代码。
  • 重绘表格时是否再次运行 AJAX 查询?如果是这样,这将导致表重新填充旧数据。
  • 嘿@user3932103 - 你能从我现在删除的答案中重现小提琴中的错误吗? jsfiddle.net/ayz8hzcL 我想我误解了你的问题,并且不确定它是什么 - 正如你所写的那样,这可能还有更多“起初我正在进行 ajax 调用并从数据库中获取数据,之后我需要添加数据客户端无需进行 ajax 调用" ...
  • 嗨@davidkonrad,感谢您的回复,它现在可以正常工作了。我们正在做服务器端分页,所以我们改变了数据表库中的代码。现在它工作正常。

标签: javascript jquery datatables datatables-1.10


【解决方案1】:

您可以在脚本中尝试这种方式

    var row = $(this).closest('tr');
    $('.dataTable').dataTable().fnDeleteRow(row);

【讨论】:

猜你喜欢
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多