これが私のコードです:
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"],
})