easyui tree使用方法

加載數據

 $('#treeul').tree({
                checkbox:true,
                url:'initTree.aspx',
                onLoadSuccess:function(){
                    //綁定權限
                     $.ajax({
                        url:'getId.aspx?id='+v,
                         cache:false,
                         dataType:'text',
                         success:function(data){  
                            var array = data.split(',');
                            for(var i=0;i<array.length;i++)
                            {
                                var node = $('#treeul').tree('find',array[i]);
                               $('#treeul').tree('check',node.target);
                            }
                        }
                    })
                }
            });

cache必須設置爲false,意思爲不緩存當前頁,否則更改權限後綁定的權限還是上一次的操作結果.

dataType表示獲取服務器發送的數據,"text"表示純文本

  $('#savebtn').click(function(){    
               $.ajax({
                url:'nodeHandler.ashx?pnodes='+GetNode('fnode')+ '&cnodes='+GetNode('child') +'&id='+v,
                  cache:false,
                success:function(data){
                    eval('data='+data);
                    if(data.success){
                        alert('保存成功');
                        window.location.href='Permission.aspx';
                    }
                }
               })
            });
  

保存的時候,也必須將cache設置爲false 

 

GetNode方法

參數代表:父節點或子節點

function GetNode(type){
            var node = $('#treeul').tree('getChecked');
            var cnodes='';
            var pnodes='';
            
             var prevNode=''; //保存上一步所選父節點
            for(var i=0;i<node.length;i++){
               
                if($('#treeul').tree('isLeaf',node[i].target)){
                    cnodes+=node[i].id+',';  
                    
                    var pnode = $('#treeul').tree('getParent',node[i].target); //獲取當前節點的父節點
                   if(prevNode!=pnode.id) //保證當前父節點與上一次父節點不同
                   {
                        pnodes+=pnode.id+',';
                        prevNode = pnode.id; //保存當前節點
                   }
                }
            }
            cnodes = cnodes.substring(0,cnodes.length-1);
            pnodes = pnodes.substring(0,pnodes.length-1);
           
            if(type=='child'){return cnodes;}
            else{return pnodes};
        };

綁定tree的時候,只需要綁定子節點就可以了,父節點是根據子節點的狀態決定是否選中的。一個父節點有2個子節點,如果我只綁定一個子節點,那麼父節點的選擇狀態就不是“√”,如果2個子節點都有綁定的話,那麼父節點的選中狀態就是"√"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章