我正在尝试使用分页的jquery表分类器。当我动态更新表时,我有问题。单击“#append”按钮(参见代码)后,我正在更改整个表体内容。分页器识别出这个动作,但当我点击下一步时,它会在第一次更新后向前跳两页,在第二次更新后向前跳三页等而不是一页...
我不知道我做错了什么。这是我的代码:
$(document).ready(function() {
$("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} , {headers: {1: {sorter: false}, 2: {sorter: false}, 3: {sorter: false}, 4: {sorter: false}, 5: {sorter: false}, 6: {sorter: false}, 7: {sorter: false}}})
.tablesorterPager({container: $("#pager")});
$("#append").click(function() {
// add some html
$.post("log_msg.asp", $("#msgForm").serialize(),
function(data) {
$('body').find("#myTable colgroup").remove();
$("#msgs").html($("#msgs" , data).html());
//$("#myTable").trigger("update")
$('body').find("#myTable")
.tablesorter( { widthFixed: true, widgets: ['zebra']} )
.tablesorterPager( { container: $("#pager") } );
});
// let the plugin know that we made a update
return false;
});
});
有任何线索吗?
提前致谢 干杯 玛格达
答案 0 :(得分:1)
我认为该事件多次被附加。你可以尝试这个基本解除绑定事件然后再绑定它的代码。
$(document).ready(function() {
$("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} , {headers: {1: {sorter: false}, 2: {sorter: false}, 3: {sorter: false}, 4: {sorter: false}, 5: {sorter: false}, 6: {sorter: false}, 7: {sorter: false}}})
.tablesorterPager({container: $("#pager")});
$("#append").unbind('click').click(function() {
// add some html
$.post("log_msg.asp", $("#msgForm").serialize(),
function(data) {
$('body').find("#myTable colgroup").remove();
$("#msgs").html($("#msgs" , data).html());
//$("#myTable").trigger("update")
$('body').find("#myTable")
.tablesorter( { widthFixed: true, widgets: ['zebra']} )
.tablesorterPager( { container: $("#pager") } );
});
// let the plugin know that we made a update
return false;
});
});
答案 1 :(得分:0)
我试过这个.. 我打开了jquery.tablesorter.pager.js文件并修改了一下如下.. 在构造函数内部,添加以下两行
$(config.cssNext,pager).unbind('click');
$(config.cssPrev,pager).unbind('click');
正好在
之上$(config.cssFirst,pager).click(function() {
moveToFirstPage(table);
return false;
});
这对我有用..希望它也适合你。祝好运! 维诺德