这是我的代码:
function CreateNodeFolder() {
$.ajax({
type: "POST",
async: true,
url: "Default.aspx/GetJson",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (msg) {
eval("var dataobj=" + msg.d);
for(var i=dataobj.length-1; i>=0;i--) {
$("#MainTree").jstree("create_node",$('#A'),"inside",{ data:dataobj[i].TableName,attr : { id : dataobj[i].TableName } },false,false);
}
},
error: function (err) {
alert(err);
},
});
}
function CreateChildNode() {
$("#MainTree").jstree("create_node",$('#'+NodeClickName+''),"inside",{ data:"C",attr : { id : "C" } },false,false);
}
我有一个 ID =“A”的根节点,首先我从 JSon 数据创建节点。之后,当我使用双击事件调用 CreateChildNode。它不会为我从 JSon 创建的节点创建子节点。它只为根节点创建。请帮我找出为什么无法为从 JSON 数据加载的节点创建子节点。这里是调用双击事件的代码。
(#MainTree).jstree({..}).bind("dblclick.jstree", function (event) {
var node = $(event.target).closest("li");
NodeClickName = node[0].id;
inty3 = setInterval(CreateChildNode, 50);
});
这是我创建根节点的方式:
$("#MainTree,#SubTree").jstree({
"json_data": {
"data": [{ "data": 'Select node', "state": 'open', "attr": { "id": 'A' } }],
},
"plugins": ["themes", "json_data", "ui", "dnd", "crrm", "contextmenu"],
})