我在1.10.15服务器端处理中使用数据表。我想在表初始化时为列搜索设置值。我尝试了这个但没有成功:
$('#dataTable').DataTable({
...
columns:[
....
{name:'name', search:{value:'q'}}
....
]
});
Run Code Online (Sandbox Code Playgroud)
你可以试试:
$('#example').dataTable( {
"search": {
"search": "Fred"
}
});
Run Code Online (Sandbox Code Playgroud)
它将Fred在搜索列中初始化数据表。
这里可以使用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
我也必须做同样的事情。我通过创建延迟加载的数据表,然后填充搜索文本,然后使用搜索参数进行 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)