Tablesorter排序多个美元符号

时间:2013-03-10 04:25:23

标签: javascript jquery tablesorter

我想使用tablesorter对表格单元格列进行排序,其中包含许多美元符号。美元符号的数量范围从1美元到5美元,并且应排序为1为最低,5为最高。注意:我需要完全匹配这些字符串,因为会抛出许多美元符号,所以$$$需要区别于$$和$。

这是我正在使用的代码,当我有美元符号时它不起作用,但是当我用“b”和“a”替换它们时,它完美地工作。我有2个美元符号代表1,因为我读到这是代表正则表达式中的美元符号所必需的。我也试过\$。这可能是由于在HTML表格中输入美元符号的方式造成的吗?我使用了标准的“$”和“$”,但都没有正常工作。

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

    $(function() { 
        $("myTable").tablesorter({ 
            headers: { 
                3: { 
                    sorter:'pricerange' 
                } 
            } 
        }); 
    }); 

1 个答案:

答案 0 :(得分:1)

尝试

return s.match(/\$/g).length;