数据表在更改事件时重新加载

时间:2014-10-03 18:20:09

标签: javascript jquery datatables

我有一个html下拉列表,最初填充并显示数据表。数据来自json数组。一旦下拉菜单发生变化,我就会收到重新初始化错误并无法修复它。

我已经尝试过table.ajax.reload以及table.fnReloadAjax();我使用数据表,而不是最好的。

以下是代码:

function Population() {
var table = $('#Population').dataTable();

$("#quickStats").change(function () {

    var optionValue = $("#quickStats").val();
    console.log(optionValue);

    if (optionValue == 1) {
        $("#display").append('<table cellpadding="0" cellspacing="0" border="0" class="display" id="Population">' +            
        '<thead><tr><th>Demographic</th><th>Total</th></thead>'
         + '</table>');


    $('#Population').dataTable({
        "data": usPopulation,
        "bJQueryUI":true,
        "columns": [
            { "data": "Demographic" },
            { "data": "Total" }

        ],
    });
}
    table.ajax.reload();

});
}

1 个答案:

答案 0 :(得分:2)

在创建新内容之前尝试销毁之前的内容:

$('#Population').dataTable().fnDestroy();


 $('#Population').dataTable({
        "data": usPopulation,
        "bJQueryUI":true,
        "columns": [
            { "data": "Demographic" },
            { "data": "Total" }

        ],
    });

或者这样做:

var table = $('#Population').dataTable({
            "data": usPopulation,
            "bJQueryUI":true,
            "columns": [
                { "data": "Demographic" },
                { "data": "Total" }

            ],
        });

table.draw();