Warum funktioniert jsTree open_all () nicht für mich?

Gestern habe ich mit jQuery und dem jsTree-Plugin herumgespielt und habe den Baum erfolgreich mit einem AJAX-Aufruf an ein Servlet geladen. Jetzt möchte ich, dass der Baum nach dem Laden alle Knoten öffnet, also habe ich dem Ajax-Attribut eine Erfolgsfunktion hinzugefügt. Es scheint jedoch nicht möglich zu sein, die open_all () -Methode zum Funktionieren zu bringen. Ich bin sehr neu in der Arbeit mit jQuery und vermute, dass es etwas Einfaches ist, was ich falsch mache.

Firebug zeigt keine Fehler an, die den dummen Fehler eines falsch geschriebenen Methodennamens ausschließen. Ich habe die Dokumentation überprüft und denke, dass ich alles richtig mache, je nachdem, was ich gelesen habe. Der Baum wird korrekt geladen, öffnet jedoch nicht alle Knoten, nachdem die Seite geladen wurde.

Ich verwende jQuery 1.4.2 und jsTree 1.0rc2 unter Firefox 3.6.8.

Hier ist der Code, mit dem ich den Baum lade und versuche, alle Knoten im Baum zu öffnen:

// 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"]
});

Antworten auf die Frage(8)

Ihre Antwort auf die Frage