jQuery TableSorter的自定义解析器出现问题

时间:2011-09-12 07:42:01

标签: jquery tablesorter

<script type="text/javascript">
    $(document).ready(function() {

        jQuery.tablesorter.addParser({
            id: "commaDigit",
            is: function(s) {
                return false;
            },
            format: function(s) {
                var stripped = s.replace("%","")
                     .replace(/€/g, '')
                     .replace(/^\s+|\s+$/g,"")
                     .replace(",", "")
                     .replace(".", "");
                console.log(s + " -> " + stripped);
                return jQuery.tablesorter.formatFloat(stripped);
            },
            type: "numeric"
        });         

        $("#repStatiOttica").tablesorter({widgets: ['zebra']});

    });
</script>

我的一些标记:

...
<thead>
    <tr>
        <th class="{sorter: 'text'}"><b>Stato</b></th>
        <th><b>Ordini</b></th>
                <th class="{sorter: 'commaDigit'}"><b>Ordini %</b></th>
...

文本和整数(第一列和第二列)排序正确。

我试过这个解析器的目的是解析一系列数字:

“23,19%”; “6,89%”; “0,50%”

“€6.240,44”; “€15.000,25”; “€100,00”

你能帮助我调整我的解析器吗?

请仅使用经过测试的解决方案回答:)

3 个答案:

答案 0 :(得分:0)

不确定原因,但分拣机的标记式分配不起作用。使用“headers”tablesorter配置属性解决。

答案 1 :(得分:0)

您需要使用jquery元数据插件才能使解析器元数据正常工作。

答案 2 :(得分:-1)

好吧,实际上,你做的一切都很好,唯一的事情就是TableSorter必须获得int值。因此,在解析值时,应使用parseInt函数作为实际整数值。

return parseInt(stripped);