我正在尝试使用用户可以替换或细化的默认搜索值初始化数据表。这与服务器端数据有关。我还没有在 Datatables 文档中阅读任何可以执行此操作的内容。
$('#example_filter label input[type=text]').val('Default Product')
上面设置了值,但是因为没有涉及到按键,所以事件处理程序不会拾取它。有没有一种方法可以链接到上面,就像输入键一样,或者我应该编写一个事件处理程序来查找字段中的更改。我对数据表和 jQuery 新手很陌生。
我正在尝试使用用户可以替换或细化的默认搜索值初始化数据表。这与服务器端数据有关。我还没有在 Datatables 文档中阅读任何可以执行此操作的内容。
$('#example_filter label input[type=text]').val('Default Product')
上面设置了值,但是因为没有涉及到按键,所以事件处理程序不会拾取它。有没有一种方法可以链接到上面,就像输入键一样,或者我应该编写一个事件处理程序来查找字段中的更改。我对数据表和 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();
所指的答案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 }));