jQuery的插件TableSorter似乎没有处理它附加到空表的情况.这有什么好吃的吗?
在我的应用程序中,用户可以过滤和搜索数据,最终他或她将提出不返回任何值的搜索条件.在这些情况下,最好“分离”TableSorter或以某种方式修复它的代码,以便它可以使用空表.
我目前正在使用这样的插件:
$("#transactionsTable") .tablesorter({ widthFixed: true,widgets: ['zebra'] }) .tablesorterPager({ container: $("#pager"),positionFixed: false });
这很有效,直到表为空.然后我收到以下错误:
Line: 3 Error: '0.length' is null or not an object
有任何想法吗?是否可以更改脚本,以便只有表有行才能将表输入添加到表中?
解决方法
我想你可以为自己做到这一点.
if ($("#transactionsTable").find("tr").size() > 1) { //> 1 for the case your table got a headline row $("#transactionsTable") .tablesorter({ widthFixed: true,widgets: ['zebra'] }) .tablesorterPager({ container: $("#pager"),positionFixed: false }); }
如果你的表有一个tbody标签,那就更容易了:
if ($("#transactionsTable").find("tbody").find("tr").size() > 0)
这种方式可能不是最专业的方式,但它应该在这种情况下工作.