2016-07-18 75 views
0

當前正在使用jQuery Datatables插件。jQuery Datatable - 更改數據網址

我現在需要能夠根據某些表單輸入值更改ajax數據源,這些值將在點擊按鈕時提交?

實現此目的的推薦方法是什麼?

$(document).ready(function() { 

     $('#btnReport') 
      .click(function() { 
       var table = $('#reports').DataTable(); 
       table.ajax.reload(); 
      }); 

     var querystring = '?from=' + $('#datetimepickerFrom').val() + '&till=' $('#datetimepickerFrom').val(); 

     var url = '/api/reports/custom'; 

     var table = $("#reports").DataTable({ 
      ajax: { 
       url: url + queryString, 
       dataSrc : "" 
      }, 
      columns: [ 
       { 
        data: "fullName" 
       }, 
       { 
        data: "timeIn" 
       } 
      ] 
     }); 

    }); 

非常感謝

回答

1

使用ajax.url()ajax.url().load()設置URL從那個URL表並加載數據。

例如:

function getDataTableUrl(){ 
    return 
     '?from=' + $('#datetimepickerFrom').val() 
     + '&till=' + $('#datetimepickerFrom').val(); 
} 

$('#btnReport') 
    .click(function() { 
     var table = $('#reports').DataTable(); 
     table.ajax.url(getDataTableUrl()).load(); 
    }); 
+0

謝謝,這似乎是我需要什麼 – adnan

+0

@adnan,有其中糾正代碼錯誤。 –

+0

對於上面的一個稍微更靈活和更高效的方法(假設你可能也需要這個初始請求的值)可以將'getDataTableUrl()'函數調用放入數據表初始化中,例如'ajax:{url:getDataTableUrl()}'然後調用'table.ajax.reload()'無論你需要重載 –