JQuery 数据表.初始化表时设置列的默认搜索值



我正在使用数据表1.10.15与服务器端处理。我想在表初始化时为列搜索设置值。我试过这个但没有成功:

$('#dataTable').DataTable({
    ...
    columns:[
        ....
        {name:'name', search:{value:'q'}}
        ....
    ]
});

你可以试试:

$('#example').dataTable( {
  "search": {
    "search": "Fred"
  }
});

它将使用搜索列中的Fred初始化数据表。

工作小提琴

参考

这里可以用SearchCols .

与搜索选项基本相同,但在本例中,对于单个列,而不是全局筛选器,此选项定义了在初始化期间应用于表的筛选。

数组的大小必须与列数相同,并且每个元素都是具有参数 search 和 escapeRegex 的对象(后者是可选的(。"null"也被接受,将使用默认值。

例:

$('#example').dataTable( {
  "searchCols": [
    null,
    { "search": "My filter" },
    null,
    { "search": "^[0-9]", "escapeRegex": false }
  ]
} );

当您可以在初始化数据表时设置默认搜索值时,这是唯一正确的解决方案。 值得数据表文档。

更多信息: https://datatables.net/reference/option/searchCols

工作示例:http://live.datatables.net/piqidoqo/603/edit

我必须做同样的事情。我通过创建加载延迟的数据表来让它工作,然后填充搜索文本,然后使用搜索参数进行 ajax 调用。

var Datatable = DataTable({
 deferLoading:true
 ... other options
});
//set search text on specific column
DataTable.columns(columnIndex).search('default search text'); 
//make ajax to call server
DataTable.draw(); 

这可能有效!但是,在这里您必须给出位置而不是该列的名称。

$( document ).ready(function() {
   var table = $('#dataTable').DataTable();
   table
        .columns( 3 )
        .search( "Your_Value" )
        .draw();
});

这里 3 只是一个例子。使用列位置而不是 3参考这里

最新更新