当前位置: 首页 > 知识库问答 >
问题:

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

徐兴昌
2023-03-14

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

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选项构建在数据中-不要误会我!)并用这些数据更新表。如何使用数据API做到这一点?留档很混乱,我找不到解决办法。任何帮助将非常感谢。谢谢。

共有3个答案

裴星洲
2023-03-14

您需要销毁旧的数据表实例,然后重新初始化数据表

首先使用$检查数据表实例是否存在。fn。数据表。ISDATABLE

如果存在,那么销毁它,然后创建这样的新实例

    if ($.fn.dataTable.isDataTable('#dataTableExample')) {
        $('#dataTableExample').DataTable().destroy();
    }

    $('#dataTableExample').DataTable({
        responsive: true,
        destroy: true
    });
袁鸿雪
2023-03-14

您可以使用:

$('#table').dataTable().fnClearTable();
$('#table').dataTable().fnAddData(myData2);

jsfiddle

使现代化是的,当前的文档不是很好,但是如果您可以使用旧版本,您可以参考遗留文档。

薛烨霖
2023-03-14

解决方案:(注意:此解决方案适用于datatables版本1.10.4(目前),而不是旧版本)。

根据API文件(1.10.15)的澄清,可通过三种方式访问API:

>

var datatable=$(选择器)。DataTable()

数据表的传统定义(小写):

var datatable=$(选择器)。dataTable()。api()

使用new语法。

var datatable=new$。fn。数据表。Api(选择器)

然后按如下方式加载数据:

$.get('myUrl', function(newDataArray) {
    datatable.clear();
    datatable.rows.add(newDataArray);
    datatable.draw();
});

使用draw(false)在数据更新后保持在同一页面上。

API参考资料:

https://datatables.net/reference/api/clear()

https://datatables.net/reference/api/rows.add()

https://datatables.net/reference/api/draw()

 类似资料:
  • 我用一个名为“Person”的对象创建了一个表,我可以从Postman发布、删除和放置。我对如何从postman中输入的JSON创建新查询没有问题。但是,每当我尝试删除或更新(使用put)我的查询时,我都会使用@PathVariable选择我想要的查询,并使用@RequestVariable更新所选数据。但我希望能够从JSON文件中删除或更新。下面是我的代码的样子。 人与物 个人控制器 这是我的P

  • 我有以下不便之处,我想只使用PostgreSQL更新JSON数组的键。我有以下json: 如果“othern”=X,我需要将“othern”更新为另一个数字 (X是我传递给查询的任何数字。例如,如果othern=5,则更新othern)。 这个JSON可能要大得多,所以我需要一些可以在JSON数组中迭代的东西,找到所有与X数匹配的“othern”,并替换为新的。非常感谢。 我尝试了Postgres

  • 但是,应用程序的用法似乎并不符合标准的JPA方法,即在对象的每次更改时进行更新。 应用程序的使用情况是,每次只有几百个对象处于活动状态,但每秒更新几次。 虽然应用程序在内存中有对象,但不需要在数据库中不断更新它们,这将是无用的IO。

  • 为了能使用whistle的所有功能,请记得将whistle升级到最新版本,版本变更点请查看:CHANGELOG 执行命令更新whistle(Mac或Linux用户,如果安装过程出现异常,请在命令行前面加sudo,如: sudo npm install -g whistle): # 以下命令都可以更新whistle $ npm install -g whistle # or $ npm instal

  • 假设我有一个部署网。yaml或PVC。亚马尔。我用一些值更新yaml文件。我该怎么办?再次申请?很抱歉,我搜索并浏览了文档,发现了滚动更新和记录,我相信这对我来说是进一步的学习曲线。 对文件所做的更改 我在没有rbac的情况下创建了efs provisioner,我相信pvc因此处于待定状态。因此,尝试更新YAML以适应变化。

  • 实际上,在按下我网站中的一个按钮后,我调用了一个引导模式,其中有一个Chart.js,该图表的数据是通过Ajax调用以以下方式加载的 现在我想“实时更新”该图表,但问题显然是通过对该函数执行来更新所有图表数据 虽然我将只更新新数据,因此如果我有一个图表构建为当一个新数据已添加到数据库为17:00/9时,我将只添加新值,或者另一个例子,如果15:00的数据已更改为10,我将只更新标签15:00中设置