BUG一:如果表格是多页的,而且是用ajax分页调取数据的,当点击第二页的时候,如果这时候用tablesorter排序插件点击排序,会出现第一页的数据出现在第二页上的问题,点击第三页,一二页上的数据全跑了第三页上,不多说bug现象了,你遇到的时候就懂了,解决方案:
插件自身有一个执行 清除缓存(我这么叫)信息的函数
1
|
$(
".tablesorter"
).trigger(
"update"
);
|
每次翻页执行下即可。
BUG二:当点击第二页排序的时候,没有反应,其实不是没有反应,我测试过,是瞬间排序两次,相当于点击两次,就相当于看着没有排序了,以此类推,第三页的时候,会排三次,这样看效果是正常的了,但是第四页又不正常了,以此类推。
解决方案:就是把点击排序的头部,每翻一页,先去掉,再加上。这样可保证,每页点击都是排序一次;
如下面这样处理。
1
2
3
4
5
6
7
8
9
10
|
//--先去掉-----------------------
$(
"#headhtml"
).html(
""
);
var
headrhtml =
'<tr><th class="newsort" id="0" onclick="removestyle(0)">ID</th><th
class="newsort" id="1" onclick="removestyle(1)">Mac</th><th class="newsort" id="2"
onclick="removestyle(2)">添加时间</th><th id="3" class="newsort" onclick="removestyle(3)">姓名
</th><th id="4" class="newsort" onclick="removestyle(4)">个人信息</th><th id="5"
class="newsort" onclick="removestyle(5)">车辆信息</th><th id="6" class="newsort"
onclick="removestyle(6)">备注</th><th>操作</th></tr>'
;
//--再添加-----------------------
$(
"#headhtml"
).html(headrhtml);
|
14
|
|
|
您可以在表中添加数据,然后才能调用sortList方法。这是因为您在此方法中应用索引,如果没有数据存在,将不会找到任何记录,并且将抛出“无法读取未定义的属性”0“错误。 |
setTimeout(function() {$('table').tablesorter();}, 10000);
14
|
您可以在表中添加数据,然后才能调用sortList方法。这是因为您在此方法中应用索引,如果没有数据存在,将不会找到任何记录,并且将抛出“无法读取未定义的属性”0“错误。 |