easyui Tree

<!-- 选择权限弹窗 -->
<div id="select-authority-dialog" class="easyui-dialog" data-options="closed:true,iconCls:'icon-save'" style="width:220px; height:450px;padding:10px;">
       <ul id="authority-tree" url="get_all_menu" checkbox="true" ></ul>
</div>

function exists(rows,parentId){

             for(var i=0;i<rows.length;i++){
                  if(rows[i].id==parentId) return true;
                 }
           return false;
         }
     function convert(rows){
            var nodes = [];
            // get the top level nodes
            for(var i=0; i<rows.length; i++){
                var row = rows[i];
                if (!exists(rows, row.parentId)){
                    nodes.push({
                        id:row.id,
                        text:row.name
                    });
                }
            }
            var toDo = [];
            for(var i=0; i<nodes.length; i++){
                toDo.push(nodes[i]);
            }
            while(toDo.length){
                var node = toDo.shift();    // the parent node
                // get the children nodes
                for(var i=0; i<rows.length; i++){
                    var row = rows[i];
                    if (row.parentId == node.id){
                        var child = {id:row.id,text:row.name};
                        if (node.children){
                            node.children.push(child);
                        } else {
                            node.children = [child];
                        }
                        toDo.push(child);
                    }
                }
            }
            return nodes;
        }
      //打开权限选择框
       function selectAuthority(){
           $('#select-authority-dialog').dialog({
                closed: false,
                modal:true,
                title: "选择权限信息",
                buttons: [{
                   text: '确定',
                   iconCls: 'icon-ok',
                   handler: function(){

                    //getChecked获取选中的节点(第一种'getChecked能接受到全选(全选的话,子权限和父权限都能够获取到) 和 选的子权限(只获得子权限),第二种getChecked','indeterminate接受到半选(这时只能获取到父权限,而全选的话,获取到的会为空,两种结合起来就实现了选择菜单的过滤)
                       var checkedNodes = $("#authority-tree").tree('getChecked');
                       var ids='';
                       for(var i=0;i<checkedNodes.length;i++){
                              ids +=checkedNodes[i].id + ',';
                           }
                       var checkedParentNodes = $("#authority-tree").tree('getChecked','indeterminate');
                         for(var i=0;i<checkedNodes.length;i++){
                           ids +=checkedParentNodes[i].id + ',';

                        }
                       }
                   
               }, {
                   text: '取消',
                   iconCls: 'icon-cancel',
                   handler: function () {
                       $('#select-authority-dialog').dialog('close');                    
                   }
               }],
               onBeforeOpen:function(){
                   $("#authority-tree").tree({
                        loadFilter: function(rows){
                            return convert(rows);
                        }
                    });
                  
               }
           });
           }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值