我在JQuery tablesorter插件上遇到了一些问题。如果单击列标题,应该会按该列对数据进行排序,但有几个问题:
中包含合计行
关于(2),我不能轻易地将总行移动到表脚,因为HTML是由displaytag标记库生成的,而我对它的控制是有限的。
关于(1),我不明白为什么排序不起作用,因为我使用的JavaScript与tablesorter tutorials中最简单的示例中所示的完全相同。
实际上,只有一行JS代码,即:
<body onload="jQuery('#communityStats').tablesorter();">
提前谢谢你,唐
发布于 2008-11-19 18:12:59
第一个问题是由于表排序器自动将列检测为“text”-列(可能是因为空单元格)。要解决此问题,请使用以下代码初始化表排序程序,并根据数据将所有字段设置为数字或货币:
<script type="text/javascript" >
jQuery(document).ready(function()
{
jQuery("#communityStats").tablesorter({
headers: { 2: { sorter:'digit' } ,
3: { sorter:'digit' } ,
4: { sorter:'digit' } ,
5: { sorter:'digit' } ,
6: { sorter:'digit' } ,
7: { sorter:'digit' } ,
8: { sorter:'currency' } ,
9: { sorter:'currency' } ,
10: { sorter:'currency' } ,
11: { sorter:'currency' }
}
});
});
</script>
发布于 2008-11-19 18:10:22
我建议使用一些Javascript从表中删除最后一行。添加页脚,然后从表中重新添加已删除的行。要解决数字单元格中的空数据问题,您可能需要添加自己的custom parser。
$(function() {
$('#communityStats').append("<tfoot></tfoot>");
$('#communityStats > tr:last').remove()
.appendTo('#communityStats > tfoot');
$('#communityStats').tablesorter();
});
发布于 2008-11-19 18:00:48
我认为#1的答案是,对于一些数字列,您有空白字段,这会导致表排序程序将该列检测为“字符串”列。
https://stackoverflow.com/questions/302749
复制相似问题