zTree學習筆記之入門

ZTREE的官網例子和JS地址:http://code.google.com/p/jquerytree/javascript

     首先,要在JSP中引入js文件和css文件css

    

Java代碼 
  1. <script type="text/javascript" src="jquery.ztree-2.6.js"></script>  
  2. <link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">  

 Js代碼java

    1. var zTree1;  
    2. var setting;  
    3. setting = {  
    4.             editable: false,  
    5.             checkable: false,  
    6.             showIcon : false,  
    7.             edit_renameBtn : false,  
    8.             edit_removeBtn : false,   
    9.               
    10.             callback: {  
    11.             //點擊觸發的方法  
    12.                 rightClick: zTreeOnRightClick,  
    13.                 mouseDown: zTreeOnMouseDown,  
    14.                 click: zTreeOnClick  
    15.             }  
    16.         };  
    17. 方法:  
    18. function zTreeOnRightClick(event, treeId, treeNode) {  
    19.             if (null == treeNode) {  
    20.                 return false;  
    21.             }  
    22.             var level = treeNode.level;  
    23.             clickedId =  treeNode.id;  
    24.             if (level == 0) {  
    25.                 zTree1.selectNode(treeNode);  
    26.                 showRMenu("root", event.clientX, event.clientY);  
    27.             } else if (level == 1) {  
    28.                 zTree1.selectNode(treeNode);  
    29.                 showRMenu("region", event.clientX, event.clientY);  
    30.             } else if (level == 2) {  
    31.                 zTree1.selectNode(treeNode);  
    32.                 showRMenu("point", event.clientX, event.clientY);  
    33.             } else if(level == 3) {  
    34.                 zTree1.selectNode(treeNode);  
    35.                 showRMenu("device", event.clientX, event.clientY);  
    36.             }  
    37.         }     
    38. 節點:  
    39.         var zNodes = [  
    40.             {id:000, name:"監控點列表", open:true,  
    41.                 nodes: ${strTree}  
    42. •   (json類型的數據格式是:id:」」,nodes:[若是有和外邊同樣],name:」」)  
    43. •   例子:  
    44. •   [{"id":"1",  
    45. •   "nodes":[   {"id":"1","nodes":[],"name":"mp1"},  
    46.    {"id":"2","nodes":[],"name":"mp2"},  
    47.    {"id":"3","nodes":[],"name":"mp3"}],  
    48. "name":"region1"},  
    49.   
    50. {"id":"2",  
    51. "nodes":[  {"id":"4","nodes":[],"name":"mp4"},  
    52. {"id":"5","nodes":[],"name":"mp5"}],  
    53. "name":"region2"},  
    54.             }                         
    55.         ];  
    56. zTree1 = $("#treeDemo").zTree(setting, zNodes);

  

1、如下是ZTREE的一些經常使用的方法和方法返回值:node

一、zTree.getNodes()      jquery

 獲取所有節點數據,無論是否採用簡單數據模式(isSimpleData = true),都返回樹形結構的 JSON 數據json

Getnodes()的返回值形式代碼   收藏代碼
  1. [  
  2.     {"id":1, "name":"test1", "nodes":[  
  3.       {"id":11, "name":"test11", "nodes":[  
  4.         {"id":111, "name":"test111"}  
  5.       ]},  
  6.       {"id":12, "name":"test12"}  
  7.     ]},  
  8.     ......  
  9. ];  

 二、zTree. getNodeByParam(key, value) 數據結構

根據節點數據的屬性精確搜索知足條件的的 JSON 數據對象,若是有多個一樣屬性值的節點,則只返回第一個找到的節點。google

 三、zTree.getNodesByParam(key, value, parentNode)spa

獲取某個節點下key=value的節點數據。code

 四、zTree.getNodesByParamFuzzy(key, value[, parentNode])

根據節點數據的屬性模糊搜索指定節點 parentNode 下面的子節點中key=value的 JSON 數據對象集合。當parentNode爲空時,搜索所有節點。

 五、zTree.addNodes(parentNode, newNodes, isSilent)

參數:

parentNode: 指定的父節點,若是增長根節點,請設置 parentNode 爲 null 便可。

newNodes  : Array(JSON)類型,須要增長的節點數據 JSON 對象集合,支持將節點的n級子節點一次性增長,只須要符合zTree的節點數據結構便可。

isSilent       : Boolean類型,設定增長節點後是否展開其父節點。isSilent = true 時,不展開父節點,其餘值或缺省狀態都自動展開。

 六、zTree.removeNode(treeNode)

刪除某個節點。

 七、zTree.getSelectedNode()

獲取 zTree 當前被選中的節點數據 JSON 對象。

 八、zTree.transformToArray(treeNodes)(這個方法我也不是很理解,感受是將選定的節點轉換成一個Array)

將 zTree 使用的標準格式轉換爲簡單 Array 格式,便於將數據返回給後臺

 九、zTree.selectNode(treeNode)

選中某個節點。

十、zTree.getNodeByTId(tID)

根據某個節點數據的 tId 屬性獲取該獲取該節點的 JSON 數據對象

十一、 zTree.moveNode(targetNode, treeNode, moveType)

將某節點移動到其餘節點下

targetNode     :指定移動到的目標節點 JSON 數據,若是移入根節點,請設置 targetNode 爲 null 便可

treeNode        :指定被移動的節點 JSON 數據

moveType       :指定移動到目標節點的相對位置("inner":成爲子節點(默認值),"before":成爲同級前一個節點,"after":成爲同級後一個節點)

 2、setting的屬性:

一、 expandSpeed 展開、摺疊效果  'fast'(default)  、 'slow'、  ''三種,其中 '' 表示展開、摺疊效果關

二、 setting1.isSimpleData = false;

       setting1.treeNodeKey = "id";

       setting1.treeNodeParentKey = "pId";

       isSimpleData = false時須要傳json數據,=true時須要傳array數據

 三、showLine    是否顯示節點之間的連線。

 四、editable      是否容許節點移動。

 五、dragCopy   拖拽節點時進行復制。

 六、dragMove   拖拽節點時進行移動。

3、事件監控

 一、 beforeClick()

 二、 beforeDblclick()

 三、 beforeRightClick()

 四、 beforeMouseDown()

 五、 beforeMouseUp()

 六、 beforeChange()

 七、 beforeDrag()

 八、 confirmDragOpen()

 九、 beforeDrop()

 十、beforeRename()

 十一、confirmRename()

 十二、beforeRemove()

 1三、beforeExpand()

 1四、beforeCollapse()

相關文章
相關標籤/搜索