$('#using_json').jstree({ 'core' : { "themes" : { // "stripes" : true,//背景是否顯示間紋。 // "dots": true,//是否顯示樹連接線 // "icons": true,//是否顯示節點的圖標 // "ellipsis": true//節點名過長時是否顯示省略號 }, "check_callback" : true, 'data' : { 'url': 'data-demo/dept.json', 'dataType': 'json', // 'data': function (node) { // 傳給服務端點擊的節點 // //return { id: node.id == "#" ? "0" : node.id }; // return { clickId: node.id }; // }, // success: function () { // alert('ok'); // } },// 生成節點的數據,treedata是后台返回的JSON數據 // 'multiple' : true, // 可否多選 'dblclick_toggle': true, //允許tree的雙擊展開 // "check_callback" : function (operation, node, parent, position, more) { // if(operation === "copy_node" || operation === "move_node") { // if(parent.id === "#") { // return false; // prevent moving a child above or below the root // } // }; // return true; // } }, // 引入插件 'plugins': ["state",'checkbox','types','themes','contextmenu'], "types" : { "default" : { }, "company" : { "icon" : 'fa fa-home', }, "department" : { "icon" : "fa fa-cubes", }, "user" : { "icon" : "fa fa-user", }, }, 'checkbox': { // 去除checkbox插件的默認效果 'tie_selection': false, 'keep_selected_style': false, 'whole_node': false }, 'contextmenu': {// 右鍵菜單 'items' : customMenu //每個節點都會調用這個函數 }, }) .bind('click.jstree', function(event) { //單擊事件
}) //雙擊 確定jstree.js中已經添加雙擊事件 .bind('dblclick.jstree',function(event){ }); //$('#using_json').jstree("destroy");//銷毀樹 function customMenu(node) { var items = { 'add': { 'label': '添加子公司', 'action': function (obj) { var inst = jQuery.jstree.reference(obj.reference); var clickedNode = inst.get_node(obj.reference);//獲取節點對象 var ty = inst.get_type(obj.reference); if (ty == 'department') { swal({ title : "", text : "無法對部門添加下級部門!", type : "warning", confirmButtonColor : "#1ab394", confirmButtonText : "確認", }); return; } var newNode = inst.create_node(obj.reference,clickedNode.val); if (obj.reference[0].id=='j1_10_anchor') { inst.set_type(newNode, 'company'); }else{ inst.set_type(newNode, 'department'); } var Nodeobj = inst.get_json(newNode); var str = { "text" : Nodeobj.text, "icon" : Nodeobj.icon, "type" : Nodeobj.type, "parentid" : clickedNode.id, "tablelist" : null }; console.log(str) // var selectedTab = $('#t_map').tabs('getSelected'); // var pageTitle = selectedTab.panel('options').title; // $.post("lwy/createNode.do", {changedata : JSON.stringify(str),pageTitle:pageTitle}, function(data) {}); inst.edit(newNode); inst.open_node(obj.reference); } },'edit': { 'label': '編輯', 'action': function (obj) { } }, 'delete': { 'label': '刪除', 'action': function (obj) { } } } if (node.type === 'department') { delete items.item2; //刪除節點 items } else if (node.type === 'user') { delete items.item1; //刪除節點 items } return items; }