Tablesorter 2.0:具有 ICD9 代码的排序列

Tablesorter 2.0: Sorting column having ICD9 codes

我在 table 中有一列包含 ICD9 代码。所以它可以有像 4379518645933,V420orE9​​539` 这样的值。

对于这个排序不起作用。它将列视为数字类型并应用排序。 当前输出为:

4379
5186
45933
V420
E9539

我希望此栏按文本方式排序。

它的输出应该是

4379
45933
5186
E9539
V420

如您所见,我希望顺序基于第一个字符,然后是第二个字符,依此类推。

如何实现这种排序。

我不是 100% 确定您使用的是哪个版本的 tablesorter,所以我会回答这两个问题。

原始表格排序器 (tablesorter.com) v2.0.5 未显示任何这些输出,但由于您要应用基本文本排序,而不是数字排序,请设置 headers强制它对文本进行排序的选项 (demo):

$('table').tablesorter({
    headers: {
        0: { sorter: 'text' }
    }
});

如果您使用我的 fork of tablesorter (currently v2.23.3), then the basic alphanumeric sort does produce the output above. To switch to using a basic text sort, set the textSorter option to use the basic text sort (demo):

$(function () {
    $('table').tablesorter({
        theme: 'blue',
        textSorter: {
            // use sortText on the first column only
            0 : $.tablesorter.sortText
        }
    });
});

要补充的另一件事是,ICD-9 代码始终按以下顺序列出:数字、V 代码、E 代码。您可能希望重新考虑在 V 代码之前使用 E 代码进行排序,但这会使您的代码复杂化,因为它不再是简单的字母数字排序。