1. 程式人生 > >使用dtree生成的樹結構,ajax動態載入子節點後,如何繫結右鍵選單續

使用dtree生成的樹結構,ajax動態載入子節點後,如何繫結右鍵選單續

var l_tree = document.getElementById("l_tree_d");
var tree = new dTree("tree");//建立一個物件. 


    tree.add(0,-1,'APISite',"javaScript:getMoreNodes('../treeNodes/NodesPrint','0');"+1+";"+0,'click me!')
    
     
 //    動態顯示節點      
 function getMoreNodes(addr,pId){
     $.ajax({    
    url:addr,    
    type:"POST", //資料傳送方式       
    data:{"parentId":pId},
    dataType:"xml", //接受資料格式     
    error:function(json){   
             alert( "not lived!");   
      },   
   async: false ,//同步方式     
   success: function(xml){ 
        $(xml).find("node").each(function(){    
       var nodeId=$(this).attr("nodeId"); 
        var parentId=$(this).attr("parentId");
        var nodeType=$(this).attr("nodeType");
        var address=$(this).attr("address");  
       var nodeName=$(this).text(); 
       var child = null;
        if(nodeType == "0" ){
       child = new Node(nodeId,parentId,nodeName,"javaScript:getMoreNodes('"+address+"','"+nodeId+"');"+nodeId+";"+nodeType,nodeName);
       child._hc = true;
        }else if(nodeType == "1"){
        child = new Node(nodeId,parentId,nodeName,"javaScript:getService('"+address+"');"+nodeId+";"+nodeType,nodeName,"contentFrame");
        }else if(nodeType == "2"){
        child = new Node(nodeId,parentId,nodeName,"javaScript:toPage('"+address+"');"+nodeId+";"+nodeType,nodeName,"contentFrame");
        }
        tree.aNodes[tree.aNodes.length] = child;
         });   
           }
     });
    l_tree.innerHTML = tree;
    $('a[id]', l_tree).contextMenu('myMenu', {
    bindings: 
         {
           'add': function(t) {
    var nId = t.toString().split(";")[1];
    var nType = t.toString().split(";")[2];
    if(nType == "0"){
    window.open("addNodes.jsp?nodeId="+nId,"","width=300,height=150,scrollbars=no,top=250,left=500,location=no");
    }else{
    alert("請選擇父節點新增!");
    }
           },
           'update': function(t) {
            var nId = t.toString().split(";")[1];
            var nType = t.toString().split(";")[2];
            window.open("updateNodes.jsp?parentId="+pId+"&nodeId="+nId+"&nodeType="+nType,"","width=200,height=100,scrollbars=no,top=250,left=500,location=no");
           },
           'delete': function(t) {
            var nId = t.toString().split(";")[1];
            var nType = t.toString().split(";")[2];
            if(nType == "0"){
            alert("此節點不能刪除!");
            }else{
            if(confirm("確定刪除?")){
            location.href="/LHApi/treeNodes/DeleteNodes?nodeId="+nId;
            }
            }
           }
         }
    });
     }  
 
 document.write(tree);
 
 function getService(addr){
 self.parent.frames['contentFrame'].location="/LHApi/treeNodes/MethodInfo?address="+addr;
 }
 
 function toPage(addr){
 self.parent.frames['contentFrame'].location=addr;
 }
 
 
 注:主頁面需要匯入js包<script type="text/javascript"
src="../dtree/jquery.contextmenu.js"></script>