jquery tablesorter:addParser没有正确排序

时间:2013-02-21 13:52:04

标签: javascript jquery tablesorter

我创建了一个表并使用tablesorter对其进行了排序。其中一列是字母和数字的混合(chr1,chr2,...,chr10,...,chrM)。我希望将此列排序为好像它只是数字(从1到22,然后按此顺序为X,Y和M)。 我已经创建了自己的解析器,它只适用于某些行。然后,我找到另一个正确排序的行块,然后是其他一些块。我不知道为什么会形成这个块。

代码为here。也许用较小的桌子可以正常工作,因为我已经展示了一个很大的表。

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试此解析器(demo

$.tablesorter.addParser({
    // set a unique id 
    id: 'chrom',
    is: function (s) {
        // return false so this parser is not auto detected 
        return false;
    },
    format: function (s) {
        // format your data for normalization 
        return s.toLowerCase()
            .replace('chr', '')
            .replace('x', '97')
            .replace('y', '98')
            .replace('m', '99');
    },
    // set type, either numeric or text 
    type: 'numeric'
});