jsTree ノード選択時の処理を整理する

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送信したり、
必要になることをすればよい。