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

And*_*kiy 2 jquery datatables

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

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

May*_*eyz 6

你可以试试:

$('#example').dataTable( {
  "search": {
    "search": "Fred"
  }
});
Run Code Online (Sandbox Code Playgroud)

它将Fred在搜索列中初始化数据表。

工作小提琴

参考


NKS*_*KSM 6

这里可以使用SearchCols

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

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

例子:

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

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

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

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


M H*_*M H 3

我也必须做同样的事情。我通过创建延迟加载的数据表,然后填充搜索文本,然后使用搜索参数进行 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(); 
Run Code Online (Sandbox Code Playgroud)