Por que o jsTree open_all () não funciona para mim?
Começou a brincar com o jQuery e o plugin jsTree ontem e fez com que ele carregasse a árvore com sucesso com uma chamada AJAX para um servlet. Agora, eu gostaria que a árvore abrisse todos os nós após o carregamento, então adicionei uma função de sucesso ao atributo ajax. No entanto, não consigo obter o método open_all () para funcionar corretamente. Eu sou muito novo em trabalhar com jQuery, então acho que é algo simples que estou fazendo errado.
O Firebug não está mostrando nenhum erro que exclui o erro idiota do nome do método digitado incorretamente. Verifiquei a documentação e acho que estou fazendo tudo corretamente de acordo com o que li. A árvore está carregando corretamente, mas não está abrindo todos os nós após o carregamento da página.
Estou usando o jQuery 1.4.2 e o jsTree 1.0rc2 no Firefox 3.6.8.
Aqui está o código que estou usando para carregar a árvore e tentar abrir todos os nós na árvore:
// Create the tree object
$("td#modelXML").jstree({
core : { "animation" : 0 },
//xml_data : {"data" : "" + xml, "xsl" : "nest"},
xml_data : {"ajax" :
{"url" : "servlet/GetModelHierarchy",
"type" : "post", "data" : { modelId : "" + modelId} },
"xsl" : "nest",
"success" : function(){
$(this).open_all(-1);
}
},
themes : {"theme" : "classic", "dots" : true, "icons" : true},
types : {
"types" : {
"category" : {
"valid_children" : ["factor"]
},
"factor" : {
"valid_children" : ["level"]
},
"level" : {
"valid_children" : "none",
"icon" : {
"image" : "${request.contextPath}/jsTree/file.png"
}
}
}
},
plugins : ["themes", "types", "xml_data"]
});