Kann nicht jQuery-plugin jsTree zunächst wählen Sie einen Knoten
Habe ich jsTree laden von Daten aus einer JSON-Seite und zeigt es korrekt an. Ich bin versucht, wählen Sie den root-Knoten standardmäßig, aber ich kann nicht ankommen es zu wirken.
Hier mein jQuery:
$(function () {
$("#demo1").jstree({
"plugins" : [ "themes","json_data","ui" ],
"json_data" : {
"ajax" : {
"url" : "categorytreejson.asp"
},
"ui" : {
"initially_select" : [ "root" ]
},
}
});
});
Hier mein JSON von categorytreejson.asp, die überprüft, mit JSONLint:
{
"data": "root",
"attr": {
"id": "root"
},
"children": [
{
"data": "Photography",
"attr": {
"id": "Photography"
},
"children": [
{
"data": "Lenses",
"attr": {
"id": "Lenses"
},
"children": [
{
"data": "Telephoto",
"attr": {
"id": "Telephoto"
}
},
{
"data": "Macro",
"attr": {
"id": "Macro"
}
},
{
"data": "Other",
"attr": {
"id": "Other"
}
}
]
}
]
}
]
}
Hier ist die resultierende HTML:
<li class="jstree-last jstree-open" id="root"><ins class="jstree-icon"> </ins><a class="" href="#"><ins class="jstree-icon"> </ins>root</a>
<ul style="">
<li class="jstree-closed" id="Photography"><ins class="jstree-icon"> </ins><a class="" href="#"><ins class="jstree-icon"> </ins>Photography</a>
<ul>
<li class="jstree-last jstree-closed" id="Lenses"><ins class="jstree-icon"> </ins><a href="#"><ins class="jstree-icon"> </ins>Lenses</a>
<ul>
<li class="jstree-leaf" id="Telephoto"><ins class="jstree-icon"> </ins><a href="#"><ins class="jstree-icon"> </ins>Telephoto</a>
</li>
<li class="jstree-leaf" id="Macro"><ins class="jstree-icon"> </ins><a href="#"><ins class="jstree-icon"> </ins>Macro</a>
</li>
<li class="jstree-last jstree-leaf" id="Other"><ins class="jstree-icon"> </ins><a href="#"><ins class="jstree-icon"> </ins>Other</a>
</li>
</ul>
</li>
</ul>
</li>
</li>
</ul>
</li>
</ul>
</li>
Und die daraus resultierenden Daten-Objekt angezeigt firebug:
args: []
inst: Object { data={...}, get_settings=function(), _get_settings=function(), more...}
rlbk: false
rslt: undefined
Ich gehe davon aus, dass die meisten das problem, weil die Folge leer ist, aber ich bin mir nicht sicher, warum?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie setzen die UI-plugin-Konfiguration innen die json_data plugin-Konfiguration.
Sie benötigen, es zu nehmen, und es wird funktionieren.
In der bind-Funktion von jstree fügen Sie die folgende Zeile wählen Sie den letzten Knoten als Baum wird geladen-
Wählen Sie den ersten Knoten immer, nutzen-
Beispiel-
@Zheileman Antwort ist viel besser als meins, aber ich dachte, es wäre interessant, zu teilen ein anderer Weg, um dieses Problem zu lösen:
Dokument bereit, ich Tat dies mit der Nutzung der jstree-events: