JQuery 数据表添加新行,如果该行已经存在,请将其删除并为该 ID 插入新行

JQuery Datatable add new row,if the row is already present remove it and insert new row for that ID

本文关键字:新行 删除 插入 ID 添加 数据表 如果 JQuery 存在      更新时间:2023-09-26

尝试使用以下方法删除行

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

我尝试使用以下方法添加

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

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

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

首先,我进行 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();
        }
    }
    };

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

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