目前我正在使用jquery tablesorter和tablesorter过滤器。我的问题是,我希望我的过滤器只过滤一列。现在它过滤所有列。您可以在此处查看我的网站:http://tinyurl.com/3j38vye
现在它过滤所有列,我只想过滤“Lainasumma”列。你能说出为什么它的排序量不合适吗?
答案 0 :(得分:8)
你看过documentation了吗? Here is an example如何禁用某些使用tablesorter的列。您可以传递headers
对象,您可以在其中指定禁用哪些列。
另一种方法是将class="{sorter: false}"
添加到要禁用排序的单元格。
您可以使用$.tablesorter.addParser()
方法定义自定义排序(请参阅上面的jsFiddle示例)。
$(document).ready(function() {
$.tablesorter.addParser({
id: 'custom_sort_function',
is: function(s) {
return false;
},
format: function(s) {
// the € symbol causes the tablesorter to treat the value as a string
// remove it and let the tablesorter treat it as numeric
// use /\u20AC/ instead of /€/ if regex does not work as expected
return s.replace(/€/, '');
},
type: 'numeric'
});
$("#pikavipit").tablesorter({
headers: {
0: {
sorter: false
},
1: {
sorter: false
},
2: {
sorter: 'custom_sort_function'
},
3: {
sorter: false
},
4: {
sorter: false
},
5: {
sorter: false
},
6: {
sorter: false
},
7: {
sorter: false
},
8: {
sorter: false
}
}
});
});
答案 1 :(得分:6)
最简单的解决方案是修改javascript文件中的selectorHeaders并将其设置为其他类似的东西:
selectorHeaders: 'thead th.sortable'
现在,你唯一要做的就是只给你想要排序的列,css类可以排序。
答案 2 :(得分:0)
我可以告诉你,它没有正确地对金额进行排序,因为排序不会将金额列视为数字,而是将它们视为文本,因此它会对文本进行排序。