2016-03-31 14 views
0

dataTableが呼び出しを行ったときにAjaxが受け取ったJSONパラメータを使用して、dataTableの列の数を変更したいとします。ajax呼び出しを使用して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, 
     ... 

をしかし、私は列の配列がdataSrcの前のdataTableで使用されていることを発見したので、関数は列の配列を変更した場合、手遅れになります。

2番目のAjaxでparamを呼び出すのはどうすればいいですか?ちょうどdataTable呼び出しを使用します。

答えて

1

ajaxコールバックでdataTableを初期化します。

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

ウェブページ上でテーブルを強制描画するdraw()メソッドとしてDatatable化できます。

また、約束通りに行うこともできます。

+0

明らかに私は考えていませんでした、ありがとう! – Hector

関連する問題