2014-10-27 76 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:请不要问我这是否是记录与否。我只是尝试了,我得到了一个价值