在发布之前,我已经检查了stackoverflow上的其他问题。一个是这个:
但不知怎的,我无法让它发挥作用。
我通过ajax获取子节点详细信息。单击某个节点时,它将触发ajax请求并获取子节点详细信息。我想将这些细节附加到jstree中的父(单击)节点。
这是jsfiddle演示(没有ajax):https://jsfiddle.net/8wyqd9om/
你能帮我解决这个问题吗?
HTML:
<div id='cat_tree'>
<ul>
<li id="1">First
<ul>
<li id="2">First</li>
<li id="3">First</li>
</ul>
</li>
<li id="4">First</li>
<li id="5">First</li>
<li id="6">First</li>
</ul>
</div>
JS:
$(function () {
$('#cat_tree').jstree({"core": {
"themes":{
"icons":false
}
}});
var data = [
{ "id" : "7", "parent" : "#4", "text" : "second" },
{ "id" : "8", "parent" : "#4", "text" : "second" },
];
$('#click').click(function() {
$('#cat_tree').jstree().create_node($('#4'), data, 'last', function(){
alert("done");
}, true);
});
});
答案 0 :(得分:3)
请检查以下代码
$(function() {
var data = [{
"id": "p1",
"parent": "#",
"text": "Parent-1"
}, {
"id": "p2",
"parent": "#",
"text": "Parent-2"
}, {
"id": "c1",
"parent": "p2",
"text": "Child 1"
}, {
"id": "c2",
"parent": "p2",
"text": "Child 2"
}, ];
$("#jstree").jstree({
"core": {
"check_callback": true,
"data": data
}
}).on('create_node.jstree', function(e, data) {
console.log('saved');
});
$('#btnCreate').click(function() {
$('#jstree').jstree().create_node('#', {
"id": "p3",
"text": "Parent-3"
}, "last", function() {
alert("Parent created");
});
$('#jstree').jstree().create_node('p2', {
"id": "c3",
"text": "Child 3"
}, "last", function() {
alert("Child created");
});
});
});