允许Tablesorter过滤器小部件filter_functions定位外部下拉列表

时间:2015-02-25 19:03:00

标签: javascript jquery tablesorter

我正在使用该库的分叉版本的2.20.1版本并安装了过滤器小部件。我们真的不想使用内联过滤框,因此我们设置了filter_columnFilters: falsefilter_external: '.search'。这很棒,因为它允许我们的搜索框与表格分开。

我们还希望在表格外部有一个下拉过滤器。我有两个想法如何实现这个,但需要指出正确的方向,因为我还没有做任何工作。

首先想法是使用内置的filter_functions

filter_functions:
   {
      "#dateSelection": 
      {
         "30 Days": function(e, n, f, i, $r) { return ...; },
         "6 Months": function(e, n, f, i, $r) { return ...; },
         "All Time": function(e, n, f, i, $r) { return ...; }
      }
   }

但是,jquery选择器似乎只针对表中的tr标记。

我的第二个想法是调用自定义过滤器功能。像$("table").tablesorter.filter()之类的东西,但我没有看到任何进行手动过滤的功能。

关于如何实现这一目标的任何想法?还有第三种选择吗?

1 个答案:

答案 0 :(得分:2)

filter_function选择器需要匹配列标题类。

this example中,我们将标题类设置为“english”

<th class="english">English</th>

添加外部选择(包括选项value属性,因为IE不起作用);

data-column

然后设置English Scores: <select class="search" data-column="3"> <option value="">All</option> <option value="less-than-50">&lt; 50</option> <option value="between 50 & 90">50 to 90</option> <option value="greater than 90">&gt; 90</option> </select> 以定位标题类名,并包含与选项值匹配的键:

filter_functions