首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用新的JSON数据手动更新datatables表

如何使用新的JSON数据手动更新datatables表
EN

Stack Overflow用户
提问于 2015-01-05 19:16:24
回答 3查看 172.3K关注 0票数 109

我正在使用插件jQuery datatables并加载我在页面底部的DOM中加载的数据,并以这种方式启动插件:

代码语言:javascript
复制
var myData = [
    {
        "id": 1,
        "first_name": "John",
        "last_name": "Doe"
    }
];

$('#table').dataTable({
    data: myData
        columns: [
        { data: 'id' },
        { data: 'first_name' },
        { data: 'last_name' }
    ]
});

现在。在执行了一些操作之后,我希望使用ajax获取新数据(而不是数据表中的ajax选项构建--不要误会我的意思!)并用这些数据更新表。我如何使用datatables API来实现这一点?文档非常混乱,我找不到解决方案。任何帮助都将不胜感激。谢谢。

EN

回答 3

Stack Overflow用户

发布于 2015-01-05 19:26:57

您可以使用:

代码语言:javascript
复制
$('#table').dataTable().fnClearTable();
$('#table').dataTable().fnAddData(myData2);

Jsfiddle

更新。是的,当前的文档不是很好,但是如果您可以使用旧版本,您可以参考legacy documentation

票数 35
EN

Stack Overflow用户

发布于 2017-11-15 02:04:33

以下是遗留datatable 1.9.4的解决方案

代码语言:javascript
复制
    var myData = [
      {
        "id": 1,
        "first_name": "Andy",
        "last_name": "Anderson"
      }
   ];
    var myData2 = [
      {
        "id": 2,
        "first_name": "Bob",
        "last_name": "Benson"
      }
    ];

  $('#table').dataTable({
  //  data: myData,
       aoColumns: [
         { mData: 'id' },
         { mData: 'first_name' },
         { mData: 'last_name' }
      ]
  });

 $('#table').dataTable().fnClearTable();
 $('#table').dataTable().fnAddData(myData2);
票数 6
EN

Stack Overflow用户

发布于 2017-10-03 13:42:17

在我的例子中,我没有使用内置的ajax api将Json提供给表(这是由于某些格式化很难在datatable的呈现回调中实现)。

我的解决方案是在onload函数的外部作用域和处理数据刷新的函数(例如var table = null)中创建变量。

然后在on load方法中实例化我的表

代码语言:javascript
复制
$(function () {
            //.... some code here
            table = $("#detailReportTable").DataTable();
            .... more code here
        });

最后,在处理刷新的函数中,我调用clear()和destroy()方法,将数据提取到html表中,并重新实例化datatable,如下所示:

代码语言:javascript
复制
function getOrderDetail() {
            table.clear();
            table.destroy();
            ...
            $.ajax({
             //.....api call here
            });
            ....
            table = $("#detailReportTable").DataTable();
   }

我希望有人会觉得这很有用!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27778389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档