使用jQuery tablesorter进行列排序

时间:2014-09-03 13:23:14

标签: jquery-ui tablesorter

我想在表中对列进行排序,其中包含类似“yyyy-mm-dd hh:mm:ss S:更多字符串”的数据。 这个数据是字符串。我正在使用jquery.tablesorter 2.0根据日期对其进行排序。我无法对它进行排序。你能帮忙吗......

艾米

1 个答案:

答案 0 :(得分:1)

您需要使用其中date-extract parsers available herehere is a demo之一:

$.tablesorter.addParser({
    id: "extractYYYYMMDD",
    is: function (s) {
        // don't auto detect this parser
        return false;
    },
    format: function (s, table) {
        var date = s.replace(/\s+/g, " ").replace(/[\-.,]/g, "/").match(/(\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/i);
        if (date) {
            date = date[0].replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/, "$2/$3/$1");
            return $.tablesorter.formatFloat((new Date(date).getTime() || ''), table) || s;
        }
        return s;
    },
    type: "numeric"
});

$('table').tablesorter({
    theme: 'blackice',
    headers: {
        1: {
            sorter: 'extractYYYYMMDD'
        }
    },
    widgets: ['zebra', 'columns']
});