2013-03-21 272 views
3

假設我在其他一些標籤中有一些jQuery EasyUI tabs。內部標籤通過點擊外部標籤時通過Ajax加載。單擊內部選項卡時,我想通過Ajax在點擊的內部選項卡的面板內加載一些內容。我的問題是,由於內標籤是通過Ajax加載的,我不能使用此:標籤和Ajax中的jQuery EasyUI標籤

$('.inner_tabs').tabs({ 
    onSelect: function(title, index){       
     // do stuff 
    }  
}); 

在我的內標籤面板加載內容(因爲內部選項卡中的DOM(所以,$('.inner_tabs')後來又增加甚至沒有認識),我知道平時這個問題可以通過使用jQuery的.on()方法固定的。但我怎麼能應用此我目前的狀況?我如何使用.on()onSelect回調的jQuery EasyUI的?

+0

@ukung,Saigitha的答案似乎是正確的。您需要在ajax請求完成後重新初始化標籤,這是他們的答案完成的。你有問題嗎? – 2017-03-21 20:38:48

+0

你可以在你的ajax請求的地方分享代碼嗎? – shramee 2017-03-27 16:12:57

回答

3

你需要在之後重新初始化內部製表符success回調的ajax請求他內部的選項卡已被添加到DOM。

你可以這樣說:

$('#outer_tabsid').tabs({ 
    onSelect: function(title, index){       
    $.ajax({type: "POST", 
     url: "ajaxurl.jsp?param="+index,      
     success: function (response) { 
     var innertabid='innerTab'+index; 
     $('#outer_tabsid').tabs('add',{ 
      title:'New Tab', 
      content:'<div id="'+innertabid+'" class="easyui-tabs" style= "width:500px; height:250px;">', 
      }); 
      $('#'+innertabid).tabs({ 
       onSelect: function(title1, index1){ 
        // ajax call to load the selected innertab; 
       } 
     }); 

    }); 
    }  
});