我创建了一个表并使用 tablesorter 对其进行排序。其中一列是字母和数字的组合(chr1、chr2、...、chr10、...、chrM)。我希望将此列排序为仅是数字(从 1 到 22,然后按此顺序排列 X、Y 和 M)。我创建了自己的解析器,它可以工作,但仅适用于某些行。然后,我找到另一个正确排序的行块,然后是其他一些块。我不知道为什么会形成这些块。
代码在这里。也许使用较小的桌子它会正常工作,因为我展示了一张大桌子。
提前致谢!
我创建了一个表并使用 tablesorter 对其进行排序。其中一列是字母和数字的组合(chr1、chr2、...、chr10、...、chrM)。我希望将此列排序为仅是数字(从 1 到 22,然后按此顺序排列 X、Y 和 M)。我创建了自己的解析器,它可以工作,但仅适用于某些行。然后,我找到另一个正确排序的行块,然后是其他一些块。我不知道为什么会形成这些块。
代码在这里。也许使用较小的桌子它会正常工作,因为我展示了一张大桌子。
提前致谢!
试试这个解析器(演示)
$.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'
});