【问题标题】:fnFilter, Datatables and negative searchfnFilter、数据表和否定搜索
【发布时间】:2014-03-07 11:41:09
【问题描述】:

我无法对其中一列执行否定搜索的内容。点击触发搜索。我正在尝试显示除 AAA 字符串之外的所有内容。它在仅显示字符串时效果很好:'AAA'。

代码如下所示:

$('#checkbox').click( function() { 
var oTable = $('#sort').dataTable();
oTable.fnFilter('[^AAA]$', 20, false, false, false, false);
});

我尝试使用正则表达式和智能过滤器,但没有成功。

【问题讨论】:

  • 我在此页面 datatables.net/release-datatables/examples/api/regex.html 上测试的每个表达式,因此表达式 [^X] 应用于第 5 列并启用正则表达式,工作正常,但不适用于我的情况。
  • 试试:oTable.fnFilter('[^AAA]$', 20, true, false, false, false); fnFilter 的开关在这里解释:datatables.net/api
  • 由于某种原因它不起作用,任何使用正则表达式的反向搜索。

标签: javascript jquery regex datatables


【解决方案1】:

使用此初始化代码为我工作:

$(function() {
 oTable= $('#datatable').DataTable({
    "oLanguage": {
      "sSearch": "Filter Data"
    },
    "iDisplayLength": -1,
    "sPaginationType": "full_numbers"
  });

  $('#checkbox').click(function() {
    oTable.fnFilter('[^AAA]$', 0, true, false);
  });
});

也许您搜索了错误的列。记住:列从 0 开始。

Look at this Plunker here

【讨论】:

  • 我已经测试了你提交的代码,确实,它可以工作,所以现在我感觉它可能被服务器端处理以某种方式窃听。我正在使用“sAjaxSource”,现在我确定在调用期间是否对正则表达式进行了编码。
  • 好吧,我应该开始搜索这个:datatables.net/forums/discussion/8045/…,它解释了一切。我认为 mainguy 的回答是第一个有效的回答。
  • 嗯,是的!你应该在你的问题中提到这一点。内置过滤器、排序或分页插件均不适用于服务器端处理。这必须在服务器端完成。您是否使用 dataTables 中的 PHP/MySql 示例代码?也许我可以帮助你。同时在这里查看我的冗长答案stackoverflow.com/questions/22156229/…
  • 是的。我正在使用 PHP 和 MySQL。谢谢,我去看看。
猜你喜欢
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-26
  • 2017-06-26
  • 1970-01-01
相关资源
最近更新 更多