2011-05-10 41 views
0

這是可能的,或者我完全關閉基地:使用jQuery負荷不加載網頁上的功能與jQuery標籤

我有一個名爲UserInfo.ascx

一個ASPX用戶控制它具有以下負載方法加載一個AJAX頁面

$("#qhcContent").load("infopage.aspx #userDisplay", function (response, status, xhr) { 

     if (status == "error") { 

      ///// Show Error Message 

      $("#qhcThrobber").fadeOut(500, function() { 
       $("#qhcContent").fadeIn(300); 
      }); 

     } 
     else { 

      $("#qhcThrobber").fadeOut(500, function() { 
       $("#qhcContent").fadeIn(300); 
      }); 

     } 



    }); 

然後,我有ASPX頁面有兩個選項卡(通過jQuery UI選項卡),這被稱爲創造了基本的標籤。我知道它是有效的,如果我只是定期瀏覽頁面,但不是當我啓動加載方法時。

$().ready(function() { 



     $("#quickCheckTabs").tabs(); 


    }); 

但是這些標籤絕不會在aspx頁面上創建。這是因爲jquery.load()的工作方式?

非常感謝。

-Seth

回答

1

#quickCheckTabs當DOM準備不存在。即$().ready() quickCheckTabs僅在加載命令完成後才存在。因此,您需要做的是將$("#quickCheckTabs").tabs();添加到load()函數的onComplete回調函數中。

換句話說:

$("#qhcContent").load("infopage.aspx #userDisplay", function (response, status, xhr) { 

     if (status == "error") { 

      ///// Show Error Message 

      $("#qhcThrobber").fadeOut(500, function() { 
       $("#qhcContent").fadeIn(300); 
      }); 

     } 
     else { 

      $("#qhcThrobber").fadeOut(500, function() { 
       $("#qhcContent").fadeIn(300); 
      }); 
      $("#quickCheckTabs").tabs();  
     } 



    }); 

哦,順便說一下..就緒()出現在您通過Ajax調用加載網頁的方法將永遠不會被解僱。

+0

爲我工作,謝謝。 – 2011-05-10 10:28:14