【问题标题】:jQuery DataTables Search on mouseclickjQuery DataTables 鼠标点击搜索
【发布时间】:2012-07-05 23:27:54
【问题描述】:

我正在研究 jQuery 数据表。我已经为搜索文本框实现了预测搜索功能,这样当用户开始输入时,它会显示 10 个最近搜索过的项目/字符串的列表。现在这里的问题是,如果我使用键盘选择任何列表项,过滤会立即发生,即在每次按键时,而当我用鼠标单击选择列表项时,它不会过滤表格。我必须按 Enter 才能过滤表格。我希望能够在按键和鼠标点击时过滤表格。这如何在数据表中实现?任何建议都会有很大帮助!

【问题讨论】:

    标签: jquery datatables


    【解决方案1】:

    你可以这样做;

    首先,您需要在单击时设置一个 JQuery 事件,因此在下拉列表中为所有选项提供一个类,例如 recentItems。那你就可以这样写了;

    $(document).ready(function() {
    
       $('.recentItems').click(function(){
               var filterString = $('.dataTables_filter :input').val();
               oTable.fnFilter(filterString);
       });
    
    });
    

    这假设你给你的数据表一个变量名 oTable。

    【讨论】:

    • 使用多个事件 .. keypressclick :)
    • @Garbage,数据表已经对 keyup 进行了过滤。这是自定义输入没有触发过滤器的问题。
    • 是的,它是自定义输入,那么它将如何识别keyup 事件?如果我们使用自定义输入,那么我们应该绑定多个事件 [如果我们真的需要它] :)
    • 输入字段不是自定义的,是数据表插件的内置部分。他提示的下拉建议是自定义的。当用户单击一个时,它会填充标准输入框,但不会触发过滤器。
    • NP,如果这对您有用,请标记为正确答案。
    【解决方案2】:
    $('#filter-data-button').click(function(){
        oTable.search('your value').draw();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      • 2019-05-21
      • 2015-03-24
      相关资源
      最近更新 更多