【问题标题】:Initialize search input in jQuery Datatables在 jQuery 数据表中初始化搜索输入
【发布时间】:2012-06-15 21:50:58
【问题描述】:

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

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

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

【问题讨论】:

  • @gilly3 的答案有效,但它使用此方法而不是一次调用服务器。 Datatables 中有什么方法可以设置默认搜索值吗?

标签: javascript jquery datatables jquery-events


【解决方案1】:

所以正确的做法是使用 oSearch 参数。

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

$(document).ready( function() {
  $('#example').dataTable( {
    "oSearch": {"sSearch": "Initial search"}
  } );
} )

【讨论】:

  • 这对我来说是最好的答案:)
【解决方案2】:

您可以使用.trigger() 手动触发事件:

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

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

【讨论】:

  • 这与“keyup”一起使用!我有一些类似的代码,但由于某种原因它不起作用。谢谢!
【解决方案3】:

正确的方法是:

var table = $( '#mytable' ).DataTable();
table.search( 'initial search value' ).draw();

【讨论】:

  • 要在初始化进程之外更改它,只需执行$('#myTable').DataTable().search('string').draw();
  • 其实这个不太一样。这将在数​​据表初始化后应用搜索。这意味着表格初始化时没有搜索词,然后您将使用新的搜索词重新绘制表格。在表的初始化设置中使用search 参数会更好(性能方面)。
  • @devlincarnate 对这个解决方案的性能影响是正确的,但我发现它无论如何都有帮助
【解决方案4】:

引用oSearch 的答案使用的是旧语法。 As of DataTables 1.10+,正确的语法是:

$(document).ready( function() {
  $('#example').dataTable( {
    "search": {"search": "Initial search"}
  });
});

【讨论】:

    【解决方案5】:

    您可以更改默认设置:

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

    【讨论】:

      【解决方案6】:
      $('#example_filter label input[type=search]').val(i).trigger($.Event("keyup", { keyCode: 13 }));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-13
        • 2017-03-30
        • 2023-03-29
        • 2016-07-16
        • 2015-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多