Tablesorter 自定义过滤器功能 - 完整 Table 过滤器

Tablesorter Custom Filter Function - Full Table Filter

我有一个 table分拣机,有 2 个过滤列。第一个过滤器作为下拉菜单使用,目前没有问题。第二个过滤器旨在成为 完整 table 搜索和过滤 机制。

也就是说,即使它与计算机列关联,它也应该return子行的结果

计算机筛选器应响应 所有子行。 例如,如果我搜索 z840,,只有具有 型号 z840 应该出现。

但是,我有一个定制的二级过滤器机制顶部的仪表,作为工作组[=的过滤器15=]

但是,如果我在工作组中被过滤,并使用计算机过滤器,它会忽略自定义隐藏行,并搜索 table 中的任何行。 (子行搜索工作正常)。

我的问题是,有没有办法覆盖过滤器的功能,忽略任何已经满足某些条件的行 IE:$(row).hasClass('hide')

我试过使用 filter_functions 但每个结果最终都只在 计算机名称 上搜索

我正在使用 Jinja 模板,因此很难获得 fiddle 和 运行 但这是一个示例。

http://jsfiddle.net/brianz820/856bzzeL/813/

按 wg02 排序(在顶部,没有结果),然后使用计算机过滤器搜索 say,3.3。未显示任何结果,但一旦您删除搜索,原始工作组过滤器就会被删除。

在我的生产副本中,即使键入 3.3 也会对任何工作组产生 returned 结果,忽略过滤器。

Fiddle 上可能有很多无关代码,只是想获得一个可用的版本

感谢阅读,目标是保持自由形式的子搜索和过滤器选择过滤,但保持外部隐藏行。

如果需要更多信息,请告诉我

我不确定这是否是您的意思,但是可以使用过滤器小部件 (demo):

简化 hideRows 函数
function hideRows() {
    var $table = $('.tablesorter'),
    filters = $.tablesorter.getFilters( $table );
  filters[2] = selected === 'All' ? '' : selected;
  $.tablesorter.setFilters( $table, filters );
}