easyui tree 一些常见操作
1 遍历tree nodes 2 3 function Travel(treeID){//参数为树的ID,注意不要添加# 4 var roots=$('#'+treeID).tree('getRoots'),children,i,j; 5 for(i=0;i<roots.length;i++){ 6 alert(roots[i].text); 7 children=$('#'+treeID).tree('getChildren',roots[i].target); 8 for(j=0;j<children.length;j++)alert(children[j].text); 9 } 10 } 11 12 13 14 $(function(){ 15 $('#tt2').tree({ 16 checkbox: true, 17 url: 'tree_data.json', 18 onClick: function(node){ 19 $(this).tree('toggle', node.target); 20 //alert('you dbclick '+node.text); 21 }, 22 onContextMenu: function(e, node){ 23 e.preventDefault(); 24 $('#tt2').tree('select', node.target); 25 $('#mm').menu('show', { 26 left: e.pageX, 27 top: e.pageY 28 }); 29 } 30 }); 31 }); 32 33 34 function reload(){ 35 var node = $('#tt2').tree('getSelected'); 36 if (node) { 37 $('#tt2').tree('reload', node.target); 38 } 39 else { 40 $('#tt2').tree('reload'); 41 } 42 } 43 44 function getChildren(){ 45 var node = $('#tt2').tree('getSelected'); 46 if (node) { 47 var children = $('#tt2').tree('getChildren', node.target); 48 } 49 else { 50 var children = $('#tt2').tree('getChildren'); 51 } 52 var s = ''; 53 for (var i = 0; i < children.length; i++) { 54 s += children[i].text + ','; 55 } 56 alert(s); 57 } 58 59 function getChecked(){ 60 var nodes = $('#tt2').tree('getChecked'); 61 var s = ''; 62 for (var i = 0; i < nodes.length; i++) { 63 if (s != '') 64 s += ','; 65 s += nodes[i].text; 66 } 67 alert(s); 68 } 69 70 function getSelected(){ 71 var node = $('#tt2').tree('getSelected'); 72 alert(node.text); 73 } 74 75 function collapse(){ 76 var node = $('#tt2').tree('getSelected'); 77 $('#tt2').tree('collapse', node.target); 78 } 79 80 function expand(){ 81 var node = $('#tt2').tree('getSelected'); 82 $('#tt2').tree('expand', node.target); 83 } 84 85 function collapseAll(){ 86 var node = $('#tt2').tree('getSelected'); 87 if (node) { 88 $('#tt2').tree('collapseAll', node.target); 89 } 90 else { 91 $('#tt2').tree('collapseAll'); 92 } 93 } 94 95 function expandAll(){ 96 var node = $('#tt2').tree('getSelected'); 97 if (node) { 98 $('#tt2').tree('expandAll', node.target); 99 } 100 else { 101 $('#tt2').tree('expandAll'); 102 } 103 } 104 105 function append(){ 106 var node = $('#tt2').tree('getSelected'); 107 $('#tt2').tree('append', { 108 parent: (node ? node.target : null), 109 data: [{ 110 text: 'new1', 111 checked: true 112 }, { 113 text: 'new2', 114 state: 'closed', 115 children: [{ 116 text: 'subnew1' 117 }, { 118 text: 'subnew2' 119 }] 120 }] 121 }); 122 } 123 124 function remove(){ 125 var node = $('#tt2').tree('getSelected'); 126 $('#tt2').tree('remove', node.target); 127 } 128 129 function update(){ 130 var node = $('#tt2').tree('getSelected'); 131 if (node) { 132 node.text = '<span style="font-weight:bold">new text<\/span>'; 133 node.iconCls = 'icon-save'; 134 $('#tt2').tree('update', node); 135 } 136 } 137 138 function isLeaf(){ 139 var node = $('#tt2').tree('getSelected'); 140 var b = $('#tt2').tree('isLeaf', node.target); 141 alert(b) 142 } 143 144 function GetNode(type){ 145 var node = $('#tt2').tree('getChecked'); 146 var chilenodes = ''; 147 var parantsnodes = ''; 148 var prevNode = ''; 149 for (var i = 0; i < node.length; i++) { 150 151 if ($('#tt2').tree('isLeaf', node[i].target)) { 152 chilenodes += node[i].text + ','; 153 154 var pnode = $('#tt2').tree('getParent', node[i].target); 155 if (prevNode != pnode.text) { 156 parantsnodes += pnode.text + ','; 157 prevNode = pnode.text; 158 } 159 } 160 } 161 chilenodes = chilenodes.substring(0, chilenodes.length - 1); 162 parantsnodes = parantsnodes.substring(0, parantsnodes.length - 1); 163 164 if (type == 'child') { 165 return chilenodes; 166 } 167 else { 168 return parantsnodes 169 }; 170 }; 171 function getNodes(){ 172 alert(GetNode('fnode') + "," + GetNode('child')); 173 } 174 175 function doNode(){ 176 var c=""; 177 var p=""; 178 $(".tree-checkbox1").parent().children('.tree-title').each(function(){ 179 c+=$(this).parent().attr('node-id')+","; 180 }); 181 $(".tree-checkbox2").parent().children('.tree-title').each(function(){ 182 p+=$(this).parent().attr('node-id')+","; 183 }); 184 var str=(c+p); 185 str=str.substring(0,str.length-1); 186 alert(str); 187 }