jQuery dataTables - 使用API​​检查和添加新行如果不存在.any()

时间:2015-05-19 08:17:29

标签: datatables jquery-datatables datatables-1.10

我正在尝试在数据表中添加新行,并使用API​​ .any()来检查行中是否已存在id,如果存在,我将不会向我的数据表添加新行,这里是结果来自我的databse请求,请参阅http://pastie.org/10196001,但我在检查方面遇到了麻烦。

socket.on('displayupdate',function(data){
     var dataarray = JSON.parse(data);
     dataarray.forEach(function(d){
         if ( table.row.DT_RowId(d.DT_RowId).any() ) { // TypeError: table.row.DT_RowId is not a function
            console.log('already exist cannot be added');
         }else{
            table.row.add(d).draw();
         }
     });
 });

提前谢谢。

1 个答案:

答案 0 :(得分:3)

您收到错误,当然,因为DT_RowId不是API中的函数。但DT_RowId 实际上是唯一一个从dataTables获得特殊处理的属性:

  

通过使用属性分配要应用于每行的ID   DataTables将为每一行的数据源对象提供DT_RowId   自动为你添加它。

那么为什么不检查rows()自动注入idany()

socket.on('displayupdate',function(data){
   var DT_RowId,
       dataarray = JSON.parse(data); 
   dataarray.forEach(function(d){
       DT_RowId = d.DT_RowId;
       if (table.rows('[id='+DT_RowId+']').any()) {
          console.log('already exist cannot be added');
       } else {
          table.row.add(d).draw();
       }
   });
});

简化演示 - >的 http://jsfiddle.net/f1yyuz1c/