0

これが私のコードです:

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"],
            })
4

0 に答える 0