11

我正在尝试使用用户可以替换或细化的默认搜索值初始化数据表。这与服务器端数据有关。我还没有在 Datatables 文档中阅读任何可以执行此操作的内容。

$('#example_filter label input[type=text]').val('Default Product')

上面设置了值,但是因为没有涉及到按键,所以事件处理程序不会拾取它。有没有一种方法可以链接到上面,就像输入键一样,或者我应该编写一个事件处理程序来查找字段中的更改。我对数据表和 jQuery 新手很陌生。

4

6 回答 6

25

因此,正确的做法是使用 oSearch 参数。

https://datatables.net/docs/DataTables/1.9.0/DataTable.defaults.oSearch.html

$(document).ready( function() {
  $('#example').dataTable( {
    "oSearch": {"sSearch": "Initial search"}
  } );
} )
于 2012-06-13T16:56:30.580 回答
14

您可以使用以下命令手动触发事件.trigger()

$('#example_filter label input[type=text]')
    .val('Default Product')
    .trigger($.Event("keypress", { keyCode: 13 }));

根据您的代码,您可能需要"keyup"

于 2012-06-13T00:19:22.470 回答
11

现在正确的方法是:

var table = $( '#mytable' ).DataTable();
table.search( 'initial search value' ).draw();
于 2014-08-15T15:34:11.930 回答
4

所指的答案oSearch是使用遗留语法。 从 DataTables 1.10+ 开始,正确的语法是:

$(document).ready( function() {
  $('#example').dataTable( {
    "search": {"search": "Initial search"}
  });
});
于 2017-01-23T20:56:32.427 回答
0

您可以更改默认设置:

var my_config = {
            oLanguage: {
                sSearch: ""
            },
            oSearch: {
                sSearch: "Default Search value"
            }
        };
$('#search').dataTable(my_config);

于 2015-03-06T15:57:05.647 回答
0
$('#example_filter label input[type=search]').val(i).trigger($.Event("keyup", { keyCode: 13 }));
于 2019-06-18T18:50:15.227 回答