我正在尝试使用服务器端数据初始化DataTable,并设置默认搜索值,用户可以替换或细化搜索。在Datatables文档中我没有找到相关信息。
$('#example_filter label input[type=text]').val('Default Product')
上述代码设置了值,但由于没有按键事件,因此事件处理程序无法捕捉到。是否有一种方法可以链到上述代码中,就像按下回车键一样,或者我应该编写一个事件处理程序来查找字段中的更改。我对datatables和jQuery不太熟悉。
我正在尝试使用服务器端数据初始化DataTable,并设置默认搜索值,用户可以替换或细化搜索。在Datatables文档中我没有找到相关信息。
$('#example_filter label input[type=text]').val('Default Product')
上述代码设置了值,但由于没有按键事件,因此事件处理程序无法捕捉到。是否有一种方法可以链到上述代码中,就像按下回车键一样,或者我应该编写一个事件处理程序来查找字段中的更改。我对datatables和jQuery不太熟悉。
正确的做法是使用oSearch参数。
https://datatables.net/docs/DataTables/1.9.0/DataTable.defaults.oSearch.html
$(document).ready( function() {
$('#example').dataTable( {
"oSearch": {"sSearch": "Initial search"}
} );
} )
.trigger()
手动触发一个事件:$('#example_filter label input[type=text]')
.val('Default Product')
.trigger($.Event("keypress", { keyCode: 13 }));
根据你的代码,你可能想使用"keyup"
代替。现在的正确方式是:
var table = $( '#mytable' ).DataTable();
table.search( 'initial search value' ).draw();
$('#myTable').DataTable().search('string').draw();
即可。 - tmthyjames提到 oSearch
的答案使用了过时的语法。自DataTables 1.10+版本起, 正确的语法是:
$(document).ready( function() {
$('#example').dataTable( {
"search": {"search": "Initial search"}
});
});
您可以更改默认设置:
var my_config = {
oLanguage: {
sSearch: ""
},
oSearch: {
sSearch: "Default Search value"
}
};
$('#search').dataTable(my_config);
$('#example_filter label input[type=search]').val(i).trigger($.Event("keyup", { keyCode: 13 }));