我一直在使用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 );
});
我发现了一个错误,或者我只是做错了什么?
答案 0 :(得分:1)
$.tablesorter.getFilters()
方法不知道要查看重复的滚动条标题(由滚动小部件创建),这就是为什么它不能按预期工作。
我猜你可以把它称为bug,因为getFilters()
函数不够智能来检查重复的标题。我继续前进added an issue,所以当我从我的安息日回来后,我会记得修理它。