2010-03-06 124 views
3

在我的頁面上,我有dataTable,它已使用例如sAjaxSource url進行初始化,如「/ api/reports」。當我們進行排序時,過濾它會附加到url附加的查詢鍵。我想添加鍵「date_from」和「date_to」到sAjaxSource url(日期間隔可以在表初始化後更改)。 沒有任何入口點函數,表重裝前,所以我可以做有不便,如:jquery dataTables插件:動態修改ajaxSource

var oSettings = rtbl.fnSettings(); 
oSettings.sAjaxSource = "/api/reports/?type=sites&date_from=" + $("#date_from").text() + "&date_to=" + $("#date_to").text(); 

感謝您的幫助!

回答

2

正確的方式做到這一點使用數據表的fnServerParams功能,創建表時:

fnServerParams: function(aoData) { 
       aoData.push({ name: "type", value: 'sites' }); 
       aoData.push({ name: "date_from", value: $("#date_from").text() }); 
       aoData.push({ name: "date_to", value: $("#date_to").text() }); 
      } 
3

所以,我已經解決了這個問題,在明年,很假,道:

function set_sAjaxSource(){ 
       var oSettings = rtbl.fnSettings(); 
       oSettings.sAjaxSource = "/api/reports/?type=sites&date_from=" + $("#date_from").val() + "&date_to=" + $("#date_to").val(); 
      } 

      $('.sorting').bind('click', set_sAjaxSource) 
      $('.sorting_asc').bind('click', set_sAjaxSource) 
      $('.sorting_desc').bind('click', set_sAjaxSource) 
      $('.sorting_desc').bind('click', set_sAjaxSource) 
      $('.paginate_button').bind('click', set_sAjaxSource) 
      $('.sorting_active').bind('click', set_sAjaxSource)