前提・実現したいこと
Ajaxでデータを取得して、jsTreeを生成しています。
親階層がない場合はjsTreeを生成、親階層がある場合はノードをcreate_nodeで追加する処理をしています。
既にノードが生成されている場合、生成する処理ではなく選択したノードを閉じるようにしたいです。
ですが、方法がわかりません。ノードを閉じる処理をご存知の方がいらっしゃいましたら、ご教授して頂きたいです。
発生している問題・エラーメッセージ
既に生成済みのノード選択時、ノードを閉じる方法がわからないです。
jsTree生成、ノード生成のソースコード
js
1if(x.parentGroupId == 0){ 2 x.parentGroupId = "#"; 3 createflg = 1; 4 } 5 return {'id' : x.id.toString() , 'parent' :x.parentGroupId.toString(), 'text' : x.itemName.toString(), 'code' : x.code.toString() }; 6 }); 7 console.log(tree); 8 if(createflg == 1){ 9 $('#jstree').jstree({ 'core' : { 10 //check_callbackをtrueにしないと動的にノードを追加できない。 11 "check_callback" : true, 12 "themes" : { "stripes" : true, "icons": false, "responsive": false }, 13 'data' : tree, 14 } 15 }); 16 }else{ 17 for(var i in data.result) { 18 var parent = parent_id; // 親ノードを設定 19 var node = { id:data.result[i].id ,text:data.result[i].itemName,code:data.result[i].code}; 20 $('#jstree').jstree().create_node(parent,node,''); // ノードを追加 21 } 22 23 $("#jstree").jstree("open_all"); 24 25 26 } 27 createflg = 0;
###ノード選択時の処理
//階層構造ノード選択時処理 $('#jstree').on('select_node.jstree', function(e, data) { console.log("node_id: " , data,'original',data.node.original); var selectNode = data.node.id; // 選択ノード取得 xsearch.view_hierarchy(selectNode); console.log(data) $('#jstree').jstree(true).delete_node(data.node.children); });。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。