2013-03-21 193 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; 
       } 
     }); 

    }); 
    }  
});