jQuery表orter问题

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (95)

我在使用JQuery tablesorter插件时遇到了一些问题。如果你点击一个列标题,它应该按这个列对数据进行排序,但是有几个问题:

  1. 行没有正确排序(1,1,2183,236)
  2. 总行包含在排序中

关于(2),我不能轻易地将总行移动到表格页脚,因为HTML由displaytag标签库生成,而我的控件受到限制。

关于(1),我不明白为什么排序不起作用,因为我已经使用了与tablesorter教程中最简单的示例中所示的完全相同的JavaScript 。

实际上,只有一行JS代码,它是:

<body onload="jQuery('#communityStats').tablesorter();">
提问于
用户回答回答于

我建议使用Javascript从表中删除最后一行。添加页脚,然后从表中重新添加已删除的行。要解决数字单元格中的空数据问题,你可能需要添加自己的custom parser

   $(function() {
       $('#communityStats').append("<tfoot></tfoot>");
       $('#communityStats > tr:last').remove()
                                     .appendTo('#communityStats > tfoot');
       $('#communityStats').tablesorter();
   });
用户回答回答于

第一个问题是由于表排序器自动检测到“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>

扫码关注云+社区

领取腾讯云代金券