在jQuery表格排序器文档http://tablesorter.com/docs/中,我们以Jan 18, 2001 9:12 AM
格式显示日期。
如果我将此日期更改为January 12, 2010
格式,则不会进行排序。
有人可以帮忙吗?
答案 0 :(得分:9)
Jquery tablesorter插件默认情况下了解usLongDate和shordDate日期格式。
这就是为什么它不理解2010年1月12日格式。如果你真的想使用这种格式,那么正确的做法就是为这种自定义格式添加你自己的解析器。
查看相关链接,了解如何write custom parser。
在tablesorter源代码中,找出shortDate和usLongDate格式解析器,并尝试添加自定义解析器。
你也可以尝试这个,它应该可行,
ts.addParser({
id: "customDate",
is: function(s) {
return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, [0-9]{4}|'?[0-9]{2}$/));
},
format: function(s) {
return $.tablesorter.formatFloat(new Date(s).getTime());
},
type: "numeric"
});
当您将其添加到tablesorter源并在浏览器中刷新表时,它会自动识别列并且排序将起作用。如果它不起作用,则将其应用于您具有此格式的列,如
$(function() {
$("table").tablesorter({
headers: {
4: { sorter:'customDate' }
}
});
});