2014-06-20 95 views
0

對AJAX/POST使用數據表,我這樣初始化,其中experiment_list是一個列表,$("#type")是一個選擇器菜單。數據表動態AJAX POST

var my_table = $('#my_table').DataTable({ 
     "ajax": {"url": "/experiment_data/", "type":"POST", "data": {"experiments": experiment_list, "type": $("#type_selector").val() } }, 
"dom": '<"top">rt<"bottom"fp><"clear">', 
    }); 

我遇到的問題是,"type"是在初始化時選擇菜單值,並且轉換後的值並重新裝載數據,不會在「Ajax」的方法改變數值。

$("#type_selector").change(function() { 
    console.log($("#type_selector").val()); 
    position_table.ajax.reload() 
    }); 

API文檔只有.URL()爲一個動態方法,這將意味着要麼使用GET(這是不太好爲對象類型的數據),或者爲每個選擇「類型」改寫次(和改變選擇的網址)。

有沒有辦法更新發布請求的數據負載動態?

+0

哪個v。的datatables? – Kalzem

+0

版本1.10的數據表。 – user3467349

回答

3

您是否嘗試過他們提供的示例請求?

$('#example').dataTable({ 
    "processing": true, 
    "serverSide": true, 
    "ajax": { 
     "url": "/experiment_data/", 
     "data": function (d) { 
      d.experiments = experiment_list; 
      d.type = $("#type_selector").val(); 
     } 
    } 
}); 

如果失敗了,您能提供Firebug的日誌嗎?

+0

你是對的,我正在看一個不同的例子,使用「數據」沒有函數(d) – user3467349