Как мы перезагружаем jstree, если я добавляю ul / li из ajax? потому что я инициирую
JS дерево, используя уль ли ли HTML.
например мне нужно добавить li clickme
.
на первом узле. Я в идеале, хотя я просто функция append (). но, похоже, не восстановить Jstree.
<div id="tree_1">
<ul>
<li data-jstree='{ "opened" : true, "type" : "root" }'> Global - DemoFLow1
<ul>
<li data-jstree='{ "opened" : true }' li_id="1"> Default paths
<ul>
<li>
<span class="tree-name">Path 1</span>
<span class="tree-value">125 (20.00%)</span>
</li>
<li>
<span class="tree-name">Path 2</span>
<span class="tree-value">125 (20.00%)</span>
</li>
<li data-jstree='{ "type" : "btn" }'><button type="button" class="btn btn-xs grey-mint"> Add new path </button> </li>
</ul>
</li>
<li data-jstree='{ "opened" : true }' li_id="2"> Rule 1
<ul>
<li>
<span class="tree-name">Path 1</span>
<span class="tree-value">125 (20.00%)</span>
</li>
<li data-jstree='{ "type" : "btn" }'><button type="button" class="btn btn-xs grey-mint"> Add new path </button> </li>
</ul>
</li>
<li data-jstree='{ "type" : "btn" }'><button type="button" class="btn btn-xs grey-mint"> Add new rule </button></li>
</ul>
</li>
</ul>
</div>var tree = $('#tree_1').jstree({
"core" : {
"themes" : {
"responsive": false
}
},
"types" : {
"default" : {
"icon" : "fa fa-circle-o"},
"path" : {
"icon" : "fa fa-circle-o"},
"root" : {
"icon" : "fa fa-circle"},
"btn" : {
"icon" : "fa fa-plus"}
},
"plugins": ["types"]
});
В основном вы должны использовать в вашем коде обратного вызова ajax, как показано ниже.
Это добавляет новый узел к корню дерева:
$('#tree_1').jstree().create_node( '#', "New node");
Чтобы добавить некоторые значения атрибутов, вы должны использовать:
$('#tree_1').jstree().create_node( '#', { "id": "newid", "name": "New node", "type" : "btn", "li_attr": { "attr1": "value of attr1", "attr2": "value of attr2"}})
Чтобы добавить новый узел к другому узлу, кроме root, вам нужно заменить #
с этим идентификатором узла.
Точное использование будет зависеть от того, что вы получите как ajax-ответ от сервера.
Также проверьте демо — скрипка
Других решений пока нет …