javascript - 数据表客户端数据更改/重绘

标签 javascript jquery datatables client-side

我设置了一个数据表,它最初从服务器获取一些数据并表示它,但随后一切都留给了客户端。一些选项是:

serverSide: false,
sAjaxSource: mySource,

我的 $.fn.DataTable.version 是 1.10.2。

然后我需要在客户端更改表下的 aaData,因为执行了一些数据处理。我需要更新 DT 以显示客户端更改的临时数据,而无需向服务器发送另一个请求(原因有两个:防止无用的流量以及因为该数据正在被更改)。 我正在寻找一种方法来编辑底层 DT databean 来编辑它,然后再次调用

myTable.draw();

在我的 table 上,我获得了一个实时刷新,而没有向服务器发送另一个请求。

问题是,我可以访问 DT 数据数组,我可以编辑它吗?

如果可能的话是怎么做到的?

编辑:我需要将完整的 bean 数组提供给表格,因为它最初是从服务器获取的,格式相同。因此,个人行/单元格添加/编辑和客户端构建功能不适合我的情况,除非我手动循环所有对象。

最佳答案

SOLUTION

使用下面的代码:

// Retrieve data
var data = table.ajax.json();

// Modify data
$.each(data.data, function(){
   this[0] = 'John Smith';
});

// Clear table
table.clear();

// Add updated data
table.rows.add(data.data);

// Redraw table
table.draw();

DEMO

参见 this jsFiddle用于代码和演示。

关于javascript - 数据表客户端数据更改/重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32270827/

相关文章:

javascript - 从函数外部替换 JavaScript 变量

javascript - 如果 .parent().hasClass 那么 .parent().toggleClass

jquery - 在数据表中设置来自Web服务的Json数据

javascript - 如何将参数发送到 php 脚本(使用 ajax)以便将它们包含在服务器端?

jquery - DataTable 不居中且自动宽度不正确

php - 将 PHP 与 MySQL 一起使用的数据表 : How to modify the mysql query?

javascript - 柔光混合模式

javascript - 用javascript听 'CTRL+N'

javascript - 右键单击并左键单击选项卡打开

javascript - BxSlider 无法在 IE 中通过 https 工作(混合内容警告)