DataTables:使用新数据动态重新渲染表?

时间:2017-08-29 08:05:18

标签: jquery datatables

我正在使用DataTables v1.10.15作为单页JavaScript应用程序的一部分,并且希望在用户更改下拉列表时使用新数据(通过Ajax加载)更新表。

这是我的代码:

 custname.on("change", function(e) {
        $('#titles').DataTable().rows().invalidate('data');
        $('#titles').DataTable({
            "ajax":{
              "url": "data/" + e.added.slug + ".geojson",
              "dataSrc": "features"
            },
            "columns": [
              { data: "properties.name" },
              { data: "properties.address" }
            ],
            "deferRender": true
        });
        $('#titles').DataTable().draw();
});

但该表始终显示No data available in table

如果我只是在页面加载时立即使用指定的GeoJSON文件调用$('#titles').DataTable({...行,相同的代码工作正常,所以我知道问题与Ajax或列加载没有任何关系。

我该如何解决这个问题?

我想知道是否需要完全清空HTML元素并每次重新创建它。

1 个答案:

答案 0 :(得分:0)

根据Documentation,正确的方法是:

custname.on("change", function(e) {
    $("#titles")ajax.url("data/" + e.added.slug + ".geojson").load();
});

希望这会有所帮助:)