jQuery Tablesorter 2.10.8 - 启用了Scroller小部件的下拉过滤器中断

时间:2013-08-27 14:46:53

标签: jquery tablesorter

问题

我一直在使用Tablesorter插件为最终用户提供更好的生活。我花了几个小时试图同时启用'scroller'和'filter'小部件。 问题是,当两者都启用时,下拉选择器无法过滤表格结果。

我创建了a fiddle来说明问题。


解决方法

(我想),我已经将问题缩小到下拉选择器的change事件中的事件监听器。

根据文档,some methods可用于获取当前过滤器。

当我跑步时:

$.tablesorter.getFilters( $('table') );

它返回一个过滤值数组;但是,下拉选择器始终是空字符串。

另一方面,如果我跑:

$.tablesorter.setFilters( $('table'), [ 'Some Value', '', '', '' ], true );

然后将更新过滤器并按预期过滤表。

我最终创建了自己的事件监听器,更新了过滤器,并使用新参数进行搜索。

$('someselector').on('change', 'select', function(event) {
    var table = $('sometableselector'),
        filters = $.tablesorter.getFilters( table );

    filters[Number($(this).attr('data-column'))] = $(this).val();
    $.tablesorter.setFilters( table, filters, true );
});

问题

我发现了一个错误,或者我只是做错了什么?

1 个答案:

答案 0 :(得分:1)

$.tablesorter.getFilters()方法不知道要查看重复的滚动条标题(由滚动小部件创建),这就是为什么它不能按预期工作。

我猜你可以把它称为bug,因为getFilters()函数不够智能来检查重复的标题。我继续前进added an issue,所以当我从我的安息日回来后,我会记得修理它。