我正在使用tablesorter(http://mottie.github.io/tablesorter/docs/index.html),其中一个表格有一个下拉选择框。
通过下面的文本提取,我设法按选择的选项进行排序。但是,这仅适用于初始选择。如果我更改任何选项并重新排序表,它仍然使用旧值。
如何教授tablesorter使用当前选择的值?
textExtraction: function(node) {
// Check if option selected is set
if ($(node).find('option:selected').text() != "") {
return $(node).find('option:selected').text();
}
// Otherwise return text
else return $(node).text();
}
答案 0 :(得分:3)
在/js/parsers/
目录中有一个名为parser-input-select
(ref)的插件附带的解析器,其中包含要解析的代码(不需要textExtraction
更改)并在用户更改选择时更新内部缓存。
要确保使用选择解析器,请加载此解析器文件,然后按如下所示设置headers选项(或标题类名sorter-select
):
$("table").tablesorter({
theme : "blue",
headers: {
0: { sorter: "select" }
}
});
您可以在grouping widget demo或this jsFiddle中看到此解析器正常工作。