我正在使用数据表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参考这里