3

我在使用带有 a 的货币的 tablesorter 插件时遇到问题,例如:9,789,000.00 等。

有谁知道解决这个问题?

请不要向我推荐其他图书馆。

4

2 回答 2

11

Tablesorter 允许您为这样的事情定义“自定义解析器” 。

// add parser through the tablesorter addParser method 
$.tablesorter.addParser({ 
    // set a unique id 
    id: 'thousands',
    is: function(s) { 
        // return false so this parser is not auto detected 
        return false; 
    }, 
    format: function(s) {
        // format your data for normalization 
        return s.replace('$','').replace(/,/g,'');
    }, 
    // set type, either numeric or text 
    type: 'numeric' 
}); 

$(function() {
    $("table").tablesorter({
        headers: {
            6: {//zero-based column index
                sorter:'thousands'
            }
        }
    });
});

您可能需要调整格式功能。

也尝试在页面上搜索here,该主题已被多次讨论,例如here

于 2012-11-15T15:59:26.710 回答
1

有趣的问题,发现我的所有列都在 id:text 下考虑,所以我修改了这样的格式:

format: function(s) {
    s=s.replace(new RegExp(/[^0-9A-Za-z ]/g),"");
    return $.trim(s.toLowerCase());
}

替换了除 0-9、az、AZ 以及空格字符之外的所有内容。

我花了 5 个小时把头撞在墙上(从字面上看)来解决这个问题。

无论如何都要接受@Jacta 的回答,因为它是起点,在头撞之前:)

于 2012-11-17T02:10:41.600 回答