当前位置:  开发笔记 > 编程语言 > 正文

jquery tablesorter + ajax div内容更新问题

如何解决《jquerytablesorter+ajaxdiv内容更新问题》经验,为你挑选了2个好方法。

我的tablesorter和ajax div内容更新有问题.重新加载ajax后,所有的tablesorter功能都会丢失.我已经尝试了livequery但它似乎没有工作超出表的第一个列表.




// The AJAX function...
function AJAX(){
   try{
       xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
       return xmlHttp;
   }
   catch (e){
       try{
           xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
           return xmlHttp;
       }
       catch (e){
           try{
               xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
               return xmlHttp;
           }
           catch (e){
               alert("Your browser does not support AJAX.");
               return false;
           }
       }
   }
}

// Timestamp for preventing IE caching the GET request (common function)
function fetch_unix_timestamp(){
   return parseInt(new Date().getTime().toString().substring(0, 10))
}

////////////////////////////////
//
// Refreshing the DIV TIMEDIV
//
////////////////////////////////

function events_listings(){

   // Customise those settings
   var seconds = 5;
   var divid = "tab01";
   var url = "events_listings.php";

   // Create xmlHttp
   var xmlHttp_one = AJAX();
     // No cache
   var timestamp = fetch_unix_timestamp();
   var nocacheurl = url+"?t="+timestamp;

   // The code...

   xmlHttp_one.onreadystatechange=function(){
       if(xmlHttp_one.readyState==4){
           document.getElementById(divid).innerHTML=xmlHttp_one.responseText;
           setTimeout('events_listings()',seconds*1000);
       }
   }
   xmlHttp_one.open("GET",nocacheurl,true);
   xmlHttp_one.send(null);
}

// Start the refreshing process
window.onload = function startrefresh(){
   setTimeout('events_listings()',seconds*1000);
}

////////////////////////////////
//
// Refreshing the DIV TIMEINWASHINGTON
//
////////////////////////////////
var formvar = "";
function view_job(temp){

   // Customise those settings
   var seconds = 8;
   var divid = "tab02";
   var url = "view_job.php";
   formvar = temp;

   // Create xmlHttp
   var xmlHttp_two = AJAX();

   // No cache
   var timestamp = fetch_unix_timestamp();
   var nocacheurl = url+"?t="+timestamp+"&"+formvar;
       // The code...
   xmlHttp_two.onreadystatechange=function(){
       if(xmlHttp_two.readyState==4){
           document.getElementById(divid).innerHTML=xmlHttp_two.responseText;
           setTimeout('view_job(formvar)',seconds*1000);
       }
   }
   xmlHttp_two.open("GET",nocacheurl,true);
   xmlHttp_two.send(null);
}

// Start the refreshing process
window.onload = function startrefresh(){
   setTimeout('view_job(formvar)',seconds*1000);
} 

Ryan Shripat.. 24

而不是再次调用.tablesorter(),而是可以触发更新,而不需要调用.tablesorter()的任何开销:

("#table").trigger("update");

我在自己的项目中成功使用了这个.您可以在:success处理程序中调用trigger().

HTH



1> Ryan Shripat..:

而不是再次调用.tablesorter(),而是可以触发更新,而不需要调用.tablesorter()的任何开销:

("#table").trigger("update");

我在自己的项目中成功使用了这个.您可以在:success处理程序中调用trigger().

HTH


谢谢.多数民众赞成真有用!如果编写自定义解析器,请确保它返回正确的类型(数字或文本),否则这将不适用于该列.
天哪,你刚刚救了我的命.谢谢你,谢谢你,谢谢你.

2> Click Upvote..:

加载结果后,您需要再次执行$("#table").tablesorter()重新排序.此外,不是手动编写ajax代码,而是使用$.get$.post来自jquery

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有