2017-02-13 104 views
0

我在我的應用程序中使用jQuery DataTables插件與服務器端處理。截至目前,當 文檔準備就緒時,該表被初始化並加載數據。代碼如下:DataTable獲取按鈕點擊數據

jQuery(document).ready(function() { 
    var table = DataTables.create("#projectTable", parameters, { 
        ajax: { 
         url: 'project/search.do', 
         data: function(d) { 
           d.numberOfColumns = 6 
           d.submittedOnStart = jQuery("#date1").val(), 
           d.submittedOnEnd = jQuery("#date2").val()       
         }, 
         dataSrc: "rows", 
         type: 'GET' 
        }, 
        columns: getColumns(), 
        "columnDefs": getColumnDefs() 
       }); 
}); 

這工作正常。但是,我想要以表格在準備好文檔時初始化的方式進行更改,但數據是在按鈕單擊時加載的。我看着Load DataTable data through button Click這不適合我的情況。有沒有辦法做到這一點?

+0

var table = jQuery(「#projectTable」).dataTable({/ * init options * /})''在'doc.ready'函數內怎麼回事? – mhodges

+0

感謝Mhodges的回覆。這部分沒有什麼是錯的。這很好。但是,如何將數據加載到按鈕按下時已經初始化的表中? – rav

+0

啊,我的道歉,我誤解了你的問題。我以爲你只是問如何初始化文檔表上的準備就緒。我相信'.reload()'是你正在尋找的東西。 https://datatables.net/reference/api/ajax.reload() – mhodges

回答

-2

利用.url.load使表格刷新並點擊按鈕。

jQuery(document).ready(function() { 
    var table = DataTables.create("#projectTable", parameters, { 
    ajax: { 
     url: 'project/search.donot', 
     data: function(d) { 
     d.numberOfColumns = 6 
     d.submittedOnStart = jQuery("#date1").val(), 
      d.submittedOnEnd = jQuery("#date2").val() 
     }, 
     dataSrc: "rows", 
     type: 'GET' 
    }, 
    columns: getColumns(), 
    "columnDefs": getColumnDefs() 
    }); 
    $('#thisbutton').click(function() { 
    // you can reload your data here. You can call a different file if you need to change the data returned 
    table.ajax.url("project/search.do").load(); 
    }); 
}); 
+0

「...以這種方式**該表已初始化文檔就緒**,但**數據加載在按鈕單擊**「 – mhodges

+0

@mhodges - 閱讀他的問題下面的評論,他沒有正確鍵入他的問題,他要求按鈕單擊'但是,我怎樣才能將數據加載到按鈕按下時已經初始化的表格中呢?他的標題甚至反映出'DataTable在按鈕點擊時獲取數據' –

+0

這將在每次按鈕點擊時啓動表格。我期待在頁面加載時啓動表格,並在點擊時調用ajax調用,並使用來自ajax調用的json響應加載表格。 – rav