Javascript JQuery Tablesorter-通过单击链接进行筛选

Javascript JQuery Tablesorter-通过单击链接进行筛选,javascript,jquery,tablesorter,Javascript,Jquery,Tablesorter,我正在使用@Mottie优秀的表排序叉,希望能够使用外部链接筛选表列 这不是严格必要的,但我想多次点击切换过滤器的开关。或者,我可以始终添加一个All Records链接来重置列 我不需要在单个列中组合过滤器。换句话说,数据不会同时出现在1月和10月 我发现了一个带有的表排序,但该表进行排序,而不是筛选,并且不会切换 我还找到了一个非常接近的。然而,正如我所提到的,我真的很喜欢链接,如果可能的话,我希望链接可以切换,并且不需要过滤器来组合 提前谢谢。这实际上比我想象的容易多了。这里有一个工作

我正在使用@Mottie优秀的表排序叉,希望能够使用外部链接筛选表列

  • 这不是严格必要的,但我想多次点击切换过滤器的开关。或者,我可以始终添加一个All Records链接来重置列
  • 我不需要在单个列中组合过滤器。换句话说,数据不会同时出现在1月和10月
我发现了一个带有的表排序,但该表进行排序,而不是筛选,并且不会切换

我还找到了一个非常接近的。然而,正如我所提到的,我真的很喜欢链接,如果可能的话,我希望链接可以切换,并且不需要过滤器来组合


提前谢谢。

这实际上比我想象的容易多了。这里有一个工作,直接来自莫蒂的演示代码上面。我用链接替换了按钮,重命名了关联的类,使其更有意义,并替换了JavaScript函数上的类以匹配链接上的类

合理的警告:我并不声称自己什么都知道,所以我的修改可能会有非常愚蠢的错误

 $('.link-filter').click(function() {
        var filters = $('table').find('input.tablesorter-filter'),
        col = $(this).data('filter-column'),
        txt = $(this).data('filter-text');
    // filters.val('');
    filters.eq(col).val(txt).trigger('search', false);
});
不同列中的过滤器组合在一起,但目前我只需要一个单列过滤器,所以这对我来说不是真正的问题

Country:<br>
<a href="#" class="link-filter" data-filter-column="4" data-filter-text="">All Countries</a> | 
<a href="#" class="link-filter" data-filter-column="4" data-filter-text="Netherlands">Netherlands</a> | 
<a href="#" class="link-filter" data-filter-column="4" data-filter-text="Belgium">Belgium</a> | 
<a href="#" class="link-filter" data-filter-column="4" data-filter-text="Germany">Germany</a>
<br /><br />

<table id="festivaloverzichttable" class="tablesorter">
<thead>
<tr>
  <th width="17%" data-placeholder="Search...">Event</th>
  <th width="18%" data-placeholder="Search...">Date</th>
  <th width="9%" data-placeholder="Search...">Duration</th>
  <th width="12%" data-placeholder="Search...">Place</th>
  <th width="10%" data-placeholder="Search...">Country</th>
  <th data-placeholder="Zoek...">Genre(s)</th>
</tr>
</thead>
<tbody>
<tr>
  <td>Event 1</td>
  <td data-date="06-02">TBA</td>
  <td>2</td>
  <td>Oisterwijk</td>
  <td>Netherlands</td>
  <td>Hardstyle</td>
</tr>
<tr>
  <td>Event 2</td>
  <td data-date="10-11">11 October t/m 13 October</td>
  <td>3</td>
  <td>Volkel</td>
  <td>Netherlands</td>
  <td>Pop, Rock, Urban, Electronic</td>
</tr>
<tr>
  <td>Event 3</td>
  <td data-date="06-02">TBA</td>
  <td>1</td>
  <td>Amsterdam</td>
  <td>Netherlands</td>
  <td>Electronic</td>
</tr>
<tr>
  <td>Event 4</td>
  <td data-date="09-01">TBA</td>
  <td>1</td>
  <td>Utrecht</td>
  <td>Netherlands</td>
  <td>Electronic, Urban</td>
</tr>
<tr>
  <td>Event 5</td>
  <td data-date="07-06">6 July - 7 July</td>
  <td>2</td>
  <td>Beek en Donk</td>
  <td>Netherlands</td>
  <td>Electronic, Hardstyle</td>
</tr>

...

</tbody>
</table>​
$("#festivaloverzichttable").tablesorter({
    sortList: [[0, 0]],
    widgets: ['zebra', 'filter', 'saveSort'],
    widgetOptions: {
      filter_reset: 'button.reset'
    }
});

 $('.link-filter').click(function() {
      var filters = $('table').find('input.tablesorter-filter'),
      col = $(this).data('filter-column'),
      txt = $(this).data('filter-text');
      // filters.val('');
     filters.eq(col).val(txt).trigger('search', false);
});