Tablesorter:按多个但不是所有列进行过滤

时间:2014-10-20 16:37:21

标签: tablesorter

我使用tablesorter和外部过滤器。 (ctrl-F' filter_external')链接页面上。来自文档:

  

这些外部输入有一个要求,它们必须有一个   data-column ="#",其中#目标列(从零开始的索引),   指向要搜索的特定列。

<input class="search" type="search" data-column="0" placeholder="Search first column">
     

如果您想搜索所有列,请使用更新的&#34;任何匹配&#34;   方法,将数据列值设置为&#34; all&#34;:

<input class="search" type="search" data-column="all" placeholder="Search entire table">

我想要的是将我的外部过滤器应用于一组列(多于一列,少于一列)。理想情况下,html看起来像这样:

<input class="search" type="search" data-column="0,1" placeholder="Search first two columns">

或者这个:

<input class="search" type="search" data-column="0" data-column="1" placeholder="Search first two columns">

(第二个甚至是有效的HTML?)

我已经在桌面文档中上下,我没有运气应用我想要的那种。我尝试的一种解决方法是向用户提供单个输入,并将其写入绑定到各自列的隐藏输入:

<input class="search" type="search" placeholder="Search first two columns">
// javascript populates the hidden inputs as the user types in the visible one
<input class="search" type="search" data-column="0" style="display: none;">
<input class="search" type="search" data-column="1" style="display: none;">

此工作&#39;除了它现在&#39;并且是从每个单独的过滤器进行过滤,因此两个列必须匹配该行的搜索项以保持可见比EITHER列匹配行的搜索项保持可见。 data-column="all"选项&#39;或搜索 - 这就是我想要的。

1 个答案:

答案 0 :(得分:1)

这是一个很好的建议!

我刚添加了在外部搜索输入中包含多个列的功能。此更改目前仅在working branch of the repository

中提供

通过此更改,您可以包含以逗号分隔的范围或多个列(demo):

<input type="search" class="search" data-column="0-1,3,5-7,9">

注意:

  • 此输入的行为与{&#34;范围&#34;,&#34; notMatch&#34;中data-column="all"的输入相同和&#34;运营商&#34;搜索被忽略。
  • 如果存在多个输入,则最后一次搜索将覆盖之前的所有搜索。
  • 将忽略data-column属性中的所有空格。