如何替换 jQuery DataTables 中的数据数组
Posted
技术标签:
【中文标题】如何替换 jQuery DataTables 中的数据数组【英文标题】:How to replace the Data Array in jQuery DataTables 【发布时间】:2014-07-22 07:57:41 【问题描述】:我有一个最初由 JSON 数组填充的 DataTables 表(使用 ASP.NET 直接写入 html)。现在我想用 Ajax 刷新这些数据,但根本不会添加数据。我想使用我自己的方法,而不是 DataTables 的内部 Ajax 方法。 (使用 DataTables 1.10.0)。
$.getJSON("?ajax=1", null, function(json, status, xhr)
var table = $("#" + proTableId).DataTable();
oSettings = table.settings();
//table.clear();
table.rows().remove();
var data = table.data();
for (var i = 0; i < json.length; i++)
data.push(json[i]);
table.draw();
);
JSON 结果是正确的,但在此调用之后,DataTable 始终为空。如何替换 DataTables 对象中的数据并最好保持排序和过滤?
【问题讨论】:
【参考方案1】:要向数据表中添加数据,你必须访问数据表对象的属性行,然后调用add方法。最后,您通过调用 draw 方法更新此表。
在Data Table documentation 上可以看到。你必须这样做:
for(var i= 0; i < json.length; i++)
table.row.add([
json[i].firstProperty,
json[i].secondProperty
]).draw();
【讨论】:
这行得通,但我不得不稍微改变一下table.row.add(json[i]);
以上是关于如何替换 jQuery DataTables 中的数据数组的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jQuery 导出时将 dataTables 中的所有 tableHeader 值更改为大写