【问题标题】:DataTables column search for exact matchDataTables 列搜索精确匹配
【发布时间】:2017-05-16 13:58:47
【问题描述】:

我在我的应用程序中使用 jQuery DataTables 插件。我正在尝试搜索与列中的数据完全匹配的字符串。

我检查了this topic,它的解决方案不适用于我的情况。我的搜索字符串是一个带有| 符号的正则表达式,可能看起来像Logged In|Active|Not Active

当搜索字符串包含Active(Logged In|Active) 时,当我使用以下搜索时,也会显示带有Not Active 的记录:

jQuery("#myTable").DataTable()
                .columns("#status")
                .search("^"+status+"$",true,false)
                .draw();
 

感谢任何帮助。提前致谢!

【问题讨论】:

    标签: jquery datatable


    【解决方案1】:
    jQuery("#myTable").DataTable()
                    .columns("#status")
                    .search("(^"+status+"$)",true,false)
                    .draw();
    

    成功了!

    【讨论】:

    • 这是迄今为止我见过的最简单的答案。 (而且它有效。)
    • 你拯救了我的一天,兄弟!像魅力一样工作。 :)
    【解决方案2】:

    尝试以下解决方案:
    1. 关闭智能搜索 (reference)

    jQuery("#myTable").DataTable()
                    .columns("#status")
                    .search(status,false)
                    .draw();
    


    2.带双引号 (reference)

    jQuery("#myTable").DataTable()
                        .columns("#status")
                        .search('"'+status+'"')
                        .draw();
    

    【讨论】:

    • 由于我们有多个搜索词,我们应该进行正则表达式搜索。所以上面的解决方案是行不通的
    【解决方案3】:

    这对我有用:

     $('#yourTableID').DataTable({ 
      search: {
         regex: false,
         smart: false
      }
     })
    

    您可以在这里找到更多信息:https://datatables.net/reference/option/search

    【讨论】:

      猜你喜欢
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 2018-08-23
      • 2020-03-06
      • 1970-01-01
      • 2017-01-09
      相关资源
      最近更新 更多