Jquery tablesorter用于不同的日期格式

时间:2010-06-29 12:20:51

标签: jquery jquery-plugins tablesorter

在jQuery表格排序器文档http://tablesorter.com/docs/中,我们以Jan 18, 2001 9:12 AM格式显示日期。

如果我将此日期更改为January 12, 2010格式,则不会进行排序。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:9)

Jquery tablesorter插件默认情况下了解usLongDate和shordDate日期格式。

这就是为什么它不理解2010年1月12日格式。如果你真的想使用这种格式,那么正确的做法就是为这种自定义格式添加你自己的解析器。

查看相关链接,了解如何write custom parser

在tablesorter源代码中,找出shortDate和usLongDate格式解析器,并尝试添加自定义解析器。

jquery.tablesorter.js

你也可以尝试这个,它应该可行,

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' }
        }
    });
});