jQuery dataTables - 如果不存在使用 API .any() 检查并添加新行
jQuery dataTables - Checking and adding new row if not exist using API .any()
我正在尝试在数据表中添加新行,并通过使用 API .any() 检查行中是否已存在该 ID,如果存在,我将不会向其中添加新行我的数据表,这是我从数据库请求的结果,请参阅 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();
}
});
});
提前致谢。
当然会出现错误,因为 DT_RowId
不是 API 中的函数。但是 DT_RowId
是 实际上是唯一一个 属性 从 dataTables 得到一些特殊处理的:
By assigning the ID you want to apply to each row using the property
DT_RowId of the data source object for each row, DataTables will
automatically add it for you.
那么为什么不检查 rows()
是否自动注入 id
以及 any()
?
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/
我正在尝试在数据表中添加新行,并通过使用 API .any() 检查行中是否已存在该 ID,如果存在,我将不会向其中添加新行我的数据表,这是我从数据库请求的结果,请参阅 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();
}
});
});
提前致谢。
当然会出现错误,因为 DT_RowId
不是 API 中的函数。但是 DT_RowId
是 实际上是唯一一个 属性 从 dataTables 得到一些特殊处理的:
By assigning the ID you want to apply to each row using the property DT_RowId of the data source object for each row, DataTables will automatically add it for you.
那么为什么不检查 rows()
是否自动注入 id
以及 any()
?
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/