我正在使用服务器端处理功能的datatable 1.10.15
。当表格初始化时,我希望为列搜索设置值。
我尝试了下面的方法,但没有成功:
$('#dataTable').DataTable({
...
columns:[
....
{name:'name', search:{value:'q'}}
....
]
});
我正在使用服务器端处理功能的datatable 1.10.15
。当表格初始化时,我希望为列搜索设置值。
我尝试了下面的方法,但没有成功:
$('#dataTable').DataTable({
...
columns:[
....
{name:'name', search:{value:'q'}}
....
]
});
这里可以使用SearchCols
。
基本上与搜索选项相同,但是在这种情况下是针对单个列而不是全局过滤器,该选项定义了在初始化期间应用于表格的过滤器。
数组必须与列数相同,并且每个元素都必须是一个具有参数搜索和escapeRegex(后者是可选的)的对象。'null'也被接受并将使用默认值。
例子:
$('#example').dataTable( {
"searchCols": [
null,
{ "search": "My filter" },
null,
{ "search": "^[0-9]", "escapeRegex": false }
]
} );
我曾经也需要做同样的事情。我通过使用延迟加载创建数据表,填充搜索文本,然后使用搜索参数进行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 参考 这里