<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”
你能帮助我调整我的解析器吗?
请仅使用经过测试的解决方案回答:)
答案 0 :(得分:0)
不确定原因,但分拣机的标记式分配不起作用。使用“headers”tablesorter配置属性解决。
答案 1 :(得分:0)
您需要使用jquery元数据插件才能使解析器元数据正常工作。
答案 2 :(得分:-1)
好吧,实际上,你做的一切都很好,唯一的事情就是TableSorter必须获得int
值。因此,在解析值时,应使用parseInt
函数作为实际整数值。
return parseInt(stripped);