2014-10-27 39 views
12

如何獲得在搜索框中輸入在數據表值。 有沒有辦法在數據表中的搜索框中輸入值?如何獲得價值在搜索框中輸入在數據表

+0

是[這](http://datatables.net/reference/option/searching)你問什麼?請更具體一些。 – 2014-10-27 15:21:34

+0

感謝您的回覆。我正在使用搜索功能,並且希望獲得在數據表搜索框中輸入的確切文本,我有要求在搜索框中的文本被清除時發送服務器端請求。所以我我正在尋找一種方法來獲取輸入的文本,並檢查長度是否爲零併發送服務器端請求。我希望我很清楚。 – jessi 2014-10-27 15:27:42

+1

我想你可能想在你的標籤列表中加入'jQuery'來吸引更多的人羣。 – 2014-10-27 20:42:36

回答

20

如果你只是要檢查的值時,執行搜索[數據表1.10.x]:

var table = $('#example').DataTable(); 

$('#example').on('search.dt', function() { 
    var value = $('.dataTables_filter input').val(); 
    console.log(value); // <-- the value 
}); 
如果你想搜索前檢查的價值,並能夠取消

搜索,必須解除綁定默認搜索框事件,並創建你自己的,這樣的 - 搜索,只有當用戶輸入3點以上的字符:

$('.dataTables_filter input').unbind().keyup(function() { 
    var value = $(this).val(); 
    if (value.length>3) { 
     table.search(value).draw(); 
    } 
}); 

演示 - >http://jsfiddle.net/pb0632c3/

完全復位搜索/篩選,就像如果用戶已刪除搜索詞:

if (value.length==0) table.search('').draw(); 
+4

'table.column()。search(value).draw();'不應該'table.search(value).draw();'? – 2015-01-13 18:18:06

+0

@MárcioSouzaJúnior,你是對的。謝謝!改變了文字和小提琴。奇怪我在例子中使用了'column()'。 – davidkonrad 2015-01-13 19:12:43

+0

@davidkonrad嘗試'dataTable.search()'。我不確定是否記錄在案 – peter 2017-07-06 19:28:36

3

正如dataTable api

var table = $('.datatable').DataTable(); 


    $('.datatable').on('search.dt', function (e, settings) { 
     table.search(this.value).draw(); 
    }) 

    //or custom input 
    // #myInput is a <input type="text" id="myInput"> element 
    $('#myInput').on('keyup', function() { 
     table.search(this.value).draw(); 
    }); 
1

有提及。有。只需調用不帶參數的搜索方法即可。

var query = dataTable.search()

PS:請不要問我這是否是記錄與否。我只是嘗試了,我得到了一個價值

相關問題