jsTreeでノード選択時の処理、
jQuuery on メソッドで、select_node.jstree でイベントと結合
$('#tree').jstree({ 'plugins': [ 'contextmenu','dnd' ], 'core':{ data':{ "url":"./tree.json", "dataType":"json" }, 'check_callback' : true, } }).on('select_node.jstree', function(e, data){ // 選択したノード情報 var id = data.node.id; var icon = data.node.icon; var text = data.node.text; var parent = data.node.parent; var parents = data.node.parents; // rootからの parent配列 // parent 逆順にすれば Path になる。 */ var path = data.node.parents.slice().reverse().join("/") + "/" + data.node.id; // 選択配下のノードツリーは、配列JSON で取得 var selectedAry = $('#tree').jstree(true).get_json(data.node.id, {flat:true}); $.each(selectedAry, function(i, e){ console.log("# id = " + e.id + " icon = " + e.icon + " text = " + e.text + " parent = " + e.parent); }); var txt = JSON.stringify(selectAry) console.log( txt ) }).on('loaded.jstree', function(){ $(this).jstree('open_all'); });
select_node.jstree の中で、input hidden にセットしたり、AJAX送信したり、
必要になることをすればよい。