我们目前正在开发基于Web的CRM.除了令人沮丧的问题外,该项目进展顺利.
我们正在为应用程序中的几乎每个可排序表使用DataTable jQuery插件.这是一个活动事件列表.

如您所见,第三列表示事件的类型(票证,变更请求,服务请求等)
用户请求放置在上一个表顶部的过滤器框来过滤事件类型.例如,如果选择"仅限票证",则将隐藏其他所有类型.到目前为止,一切正常.
为此,每行都有一个表示事件类型的CSS类.
当筛选框值更改时,将执行以下javascript代码
$('table.sortable').each(function() {
for (var i = 0; i < rows.length; i++) {
if ($(rows[i]).hasClass(vClass)) $(rows[i]).hide();
}
});
Run Code Online (Sandbox Code Playgroud)
哪里
现在,系好安全带(法国班轮).当您隐式隐藏行时,dataTable仍会对其进行计数.这是一个神话般的结果.

正如所解释的那样,主要问题是:我应该如何告诉dataTable我想隐藏行而不永远删除它们?DataTable已经有了一个过滤器框,但我需要它与类型过滤器盒一起独立工作(不在图像中).
有没有办法添加第二个过滤器?
我想知道是否可以通过其中一个数据属性而不是其单元格的内容来过滤jQuery DataTable.要将过滤器动态应用于列,可以使用此调用:
$table.fnFilter('^(Some value)$', columnIndex, true, false);
Run Code Online (Sandbox Code Playgroud)
这将使用正则表达式默认过滤单元格的确切内容.但是,假设我的单元格是这样构造的:
<td data-label="Active"><i class="fa fa-check fa-lg"></i></td>
Run Code Online (Sandbox Code Playgroud)
要么
<td data-label="Active">Active<br /><span class="mute">Some text</span></td>
Run Code Online (Sandbox Code Playgroud)
我希望能够通过属性的确切内容data-label而不是单元格内容来使用DataTable过滤器.是否在表init上设置列时定义搜索类型?或者有没有办法定义按属性而不是内容过滤?