gpt4 book ai didi

javascript - Tablesorter 使用连字符对数字字段进行排序

转载 作者:行者123 更新时间:2023-11-28 07:19:36 25 4
gpt4 key购买 nike

我有一个以 YYYY-#### 格式绑定(bind)数据的表。在某些情况下,可能有值 2012-456 和 2012-1234。默认情况下,2012-1234 将排序在 2012-456 之前。如果我将排序更改为“数字”,那么它会抛弃其他年份(例如:将按顺序排序 2012-456、2013-555、2012-1234)。我猜如果少于 4 位数字,我必须在连字符后面的数字前添加 0,但我无法让排序器工作。我尝试过 .addParser 但我对此并不熟悉并且没有成功。有没有适合我正在寻找的内容的好文章,或者有人知道实现此目标的方法吗?

下面是示例数据的图像,该数据排序不正确,需要按年份顺序(前 4 位数字)排序,然后按连字符后的数字排序:

enter image description here

**另外,日期显然应该采用更好的格式,但在这种情况下,我无法调整输入方式。

最佳答案

经过进一步调试,我终于能够让 .addParser() 工作,并尽可能地压缩代码。我想因为我是 javascript 新手,所以我没有意识到 .length 正在计算 html 中的空格和/或返回值。

            $('.tablesorter').tablesorter({
widgets: ['zebra'],
headers: {
0: {
sorter: 'licenseYear'
}
}
})

$.tablesorter.addParser({
id: 'licenseYear',
is: function (s) {
return false;
},
format: function (s) {
//pad zeros for max length of digits after hyphen
var pad = "0000";
//replace hyphen with needed zeros to pad number
var n = s.replace(/-/, pad.substring(s.length - 5));
return n;
},
type: 'numeric'
});

*编辑:在该线程的帮助下压缩了有关向左填充的代码:convert '1' to '0001' in JavaScript

关于javascript - Tablesorter 使用连字符对数字字段进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30461288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com