1

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

代码在这里。也许使用较小的桌子它会正常工作,因为我展示了一张大桌子。

提前致谢!

4

1 回答 1

0

试试这个解析器(演示

$.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'
});
于 2013-02-21T16:19:00.903 回答