zoukankan      html  css  js  c++  java
  • 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个子节点都有绑定的话,那么父节点的选中状态就是"√"
  • 相关阅读:
    mouseover、mouseout,mouseenter、mouseleave区别
    第一篇博客,就真的是随笔,写写最近的状况。
    MySQL日期时间函数大全 转
    解决Eclipse中SVN版本信息不显示的问题
    android 环境变量配置,以及sdcard配置
    服务器Out of Memory
    Android SDK Manager 更新时的“https://dl-ssl.google.com refused”错误
    不可变的原始值和可变的对象引用
    null和undefined
    HTML 表单
  • 原文地址:https://www.cnblogs.com/dqsweet/p/4927790.html
Copyright © 2011-2022 走看看