jQuery Tablesorter Pager插件和Ajax Update

|| 我有一个目前可以正常工作的tablesorter表,它使用ajax方法更新表数据。我添加了tablesorter Pager插件,现在
$(.tablesorter\').trigger(\"update\");
函数在更新表时不会更新仍显示前一行/页数的寻呼机。 我在用:
    //init tablesorter
    $(\'#tblCustomers\').tablesorter({
            headers: { 0: { sorter: false}},
            sortList: [[5,1]]               
    }).tablesorterPager({container: $(\"#pager\")});
    //search listener
    $(\'input.search\').change(function() {
                 $.post(\'search.php\', { \'keyword\' : $(this).val() }, function(data) {
                        $(\'#tblCustomers tbody\').html(data);
                        $(\'#tblCustomers\').trigger(\'update\');
                 }
    });
请咨询...     
已邀请:
danielc的答案几乎可以完美地工作,但寻呼机将跳过页面。我用另一个发现的问题解决了这个问题,这是我想到的:
function tableUpdated() {
$(\'#pager *\').unbind(\'click\');
$(\"#table\") 
.tablesorter({
    // zebra coloring
    widgets: [\'zebra\']
}) 
.tablesorterPager({container: $(\"#pager\")}); 
}
希望对您有所帮助,编码愉快!     
确保在更新数据库表后刷新容器 请注意缓存,我将在search.php中添加一个随机查询字符串(例如search.php?cachebuster = arandomnumberhere),以确保防止页面缓存。 有多种方法可以控制缓存。您可以通过htaccess,前面提到的随机数等在服务器上进行设置。     
function tableUpdated() {
    $(\'#tblCustomers\').tablesorter({
        headers: { 0: { sorter: false}},
        sortList: [[5,1]]               
    }).tablesorterPager({container: $(\"#pager\"), positionFixed: false});
}   

$(document).ready(function() {
   $(\'input.search\').change(function() {
      $.post(\'search.php\', { \'data\': data } , function(data) {
        tableUpdated();
      });
   });  
事实证明,解决方案是将表初始化移到一个单独的函数中,然后在$ .post的成功部分中调用它 经过数小时的Google搜索结果,这对我来说是唯一有效的方法。     

要回复问题请先登录注册