JQuery Datatable添加新行,如果该行已存在,则删除它并为该ID插入新行

时间:2016-03-02 09:28:25

标签: javascript jquery datatables datatables-1.10

尝试使用以下方法删除行

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();
        }
    }

    };

1 个答案:

答案 0 :(得分:0)

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

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