将自定义值添加到jQuery插件:Tablesorter 2.0

时间:2012-02-03 10:56:22

标签: jquery-plugins tablesorter

我正试图想办法改变表格中的值,这样就可以了。

例如,如果我有这些数字的列表: 1 4 21 6 2 23 0 21 54

我需要0才能获得最大的金额,所以当按升序排序时,1应该在第一个,0应该在最后。有没有人对如何做到这一点有任何想法?

由于

1 个答案:

答案 0 :(得分:0)

使用example here中显示的自定义解析器。您可以使用format函数测试0,并返回Number.MAX_VALUE。我修改了示例链接中的代码,使用“0 is highest”规则对Calculus列进行排序,如下所示:

$.tablesorter.addParser({
    // set a unique id
    id: 'calculus',
    is: function(s) {
        // return false so this parser is not auto detected
        return false;
    },
    format: function(s) {
        // format your data for normalization
        if ( s === '0' ) { return Number.MAX_VALUE; }
        return s;
    },
    // set type, either numeric or text
    type: 'numeric'
});

$(function() {
    $("table").tablesorter({
        headers: {
            5: {
                sorter:'calculus'
            }
        }
    });
}); 

(注意:链接中的示例在Calculus列中不包含值0)。