Содержимое на этих вкладках не будет отображаться до тех пор, пока вы не нажмете вкладку, чтобы загрузить его, поэтому селектор jQuery("#tabTree")
не имеет ничего для сопоставления, пока не существует элементов, соответствующих этому селектору. Вам нужно запустить этот код при загрузке страницы ajax, например:
var treeLoaded = false;
$("#myTabs").bind( "tabsload", function(event, ui) {
if(!treeLoaded && jQuery("#tabTree", ui.panel).length) {
var treeContainer = jQuery("#tabTree");
var treeData = {
data: {
type : "json",
opts : {
static : [
{
data: "A node",
children: [
{ data : "Child node 1" },
{ data : "Child node 2" },
{ data : "Child node 3" }
]
}
]
}
}
};
treeContainer.tree(treeData);
treeLoaded = true;
}
});
Событие tabsload
, , описанное здесь , запускается при загрузке содержимого ajax. Приведенный выше код проверяет, был ли ваш id="tabTree"
в этом загруженном контенте, и если да, то дерево еще не было построено, создает его.