我正在使用数据表1.10.15
进行服务器端处理。我希望在表初始化时为列搜索设置值。
我试过这个但没有成功:
$('#dataTable').DataTable({
...
columns:[
....
{name:'name', search:{value:'q'}}
....
]
});
答案 0 :(得分:5)
您可以尝试:
$('#example').dataTable( {
"search": {
"search": "Fred"
}
});
它将在搜索列中使用Fred
初始化数据表。
答案 1 :(得分: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();
答案 2 :(得分:0)
这可能有效!但是,在这里你必须给出位置,而不是那个列的名称。
$( document ).ready(function() {
var table = $('#dataTable').DataTable();
table
.columns( 3 )
.search( "Your_Value" )
.draw();
});
这里只是一个例子。使用列位而不是3 参考Here
答案 3 :(得分:-1)
这里可以使用“ SearchCols”。
与搜索选项基本相同,但是在这种情况下,对于单个列而不是全局过滤器,此选项定义了在初始化期间应用于表的过滤。
该数组的大小必须与列数相同,并且每个元素都是具有参数search和escapeRegex的对象(后者是可选的)。 'null'也被接受,并且将使用默认值。
示例:
$('#example').dataTable( {
"searchCols": [
null,
{ "search": "My filter" },
null,
{ "search": "^[0-9]", "escapeRegex": false }
]
} );
当初始化数据表时可以设置默认搜索值时,这是唯一正确的解决方案。值得数据表文档。