【问题标题】:Change dataTable columns quantity using the ajax call使用 ajax 调用更改 dataTable 列数量
【发布时间】:2016-03-31 14:12:07
【问题描述】:

我想在 dataTable 进行调用时使用 Ajax 接收的 JSON 参数来更改 dataTable 中的列数。

所以我尝试了这个:

var columns = [
        {data: "data1"},
        {data: "data2"},
        {data: "data3"}
    ];

$("#table").dataTable({
        ajax: {
            url: 'controller/get_table',
            dataSrc: function (json) {
                if (json.param) {
                    columns.push({data: "data4"});
                    columns.push({data: "data5"});
                }
                return json.data;
            }
        },
        columns: columns,
        ...

但我发现 dataTable 在 dataSrc 之前使用了列数组,所以当函数更改列数组时,为时已晚。

如果没有第二次 Ajax 调用参数,我怎么能做到这一点?只需使用 dataTable 调用。

【问题讨论】:

    标签: javascript jquery json ajax datatable


    【解决方案1】:

    在 ajax 回调中初始化你的 dataTable。

    $.ajax({
    //get your json params
    }).done(function(response){
        $("#table").dataTable({response});
    });
    

    Datatable 作为 draw() 方法强制在网页上绘制表格。

    你也可以通过 Promise 来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多