2017-07-19 89 views
0

我怎樣才能阻止這種情況的自動播放,我有一個搜索按鈕,我想獲取數據前先搜索,任何方法是好的,對我來說,無論是阿賈克斯或JavaScript端,請幫幫我。Ajax請求不會立即開始

的Javascript

var table = $('#SARDatatable').DataTable({ 
    "processing": true, 
    dom: "<'row'<'col-sm-6'l><'col-sm-6'f>>" + 
     "<'row'<'col-sm-12'tr>>" + 
     "<'row'<'col-sm-2'i><'col-sm-5'B><'col-sm-5'p>>", 
    buttons: [ 
     'copyHtml5', 
     'excelHtml5', 
     'csvHtml5', 
     'pdfHtml5', 
     'print' 
    ], 
    "ajax": { 
     "url": '/Home/GetAllSAR', 
     "type": "POST", 
     "datatype": "json", 
     "data": function (d) { 
      d.searchParameters = {}; 
      d.searchParameters.sarcode = $('#txtSAR').val(); 
      d.searchParameters.stype = $('#txtSType').val(); 
     } 
    }, 
    "columns": [ 
     { "data": "sarcode", "autoWidth": true }, 
     { "data": "stype", "autoWidth": true }, 
     { "data": "amount", "autoWidth": true }, 
     { "data": "filterno", "autoWidth": true } 
    ] 
}); 

$('#btnSearch').on("click", function() { 
    table.ajax.reload(); 
}); 
+2

你的問題我不清楚,能否請您解釋一下? – OverCoder

+0

同意。問題是_unclear_。你究竟想要達到什麼目的? – icecub

回答

0

如果我理解正確的話,你想只初始化表中的按鈕被點擊後,使AJAX請求來獲取數據不會點擊前發出按鈕。

如果是這樣的話,那麼我會建議如下:

  1. 有一個按鈕,inits表:

HTML

<button id='initTable'>Init Table</button> 

的JavaScript

var table; 
$('#initTable').on('click', function() { 
    table = $('#SARDatatable').DataTable({ // code to init the DataTable }); 
}); 
  • 具有 '刷新' 按鈕
  • HTML

    <button id='btnSearch'>Reload</button> 
    

    的JavaScript

    $('#btnSearch').on("click", function() { 
        table.ajax.reload(); 
    }); 
    

    後初始化的表,你可以隱藏這個e「初始表」按鈕,以便一次只有一個按鈕。

    希望這會有所幫助。