easyui tree使用方法

来源:互联网 发布:js下拉菜单视频教程 编辑:程序博客网 时间:2024/06/01 09:41

加载数据

 $('#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个子节点都有绑定的话,那么父节点的选中状态就是"√"
0 0
原创粉丝点击