小弟正在做一个java的权限管理,想知道jsp页面带checkbox的树形动态菜单是如何实现,用struct2标签能把树根节点,字节点还有带checkbox遍历出来吗?求高手,求源码?求指点JSPCheckBoxJavatree 动态菜单

解决方案 »

  1.   

    用树型结构的组件咯,像zTree啦等等;搜索看看自己中意的咯
      

  2.   

    遍历数据
    获取选中的checkbox 
    nodes = zTree.getCheckedNodes(true); -- true代表选中的
    nodes[i].id 可以获取到每一个传递进去ID值(感觉就是数据库中的id)
    我也没用过,只是大概查了一下,具体的还是再找找吧
      

  3.   

    给一个之前做过的jsp页面的js你看看吧。checkChildren是选中子节点去判断父节点是否要选中的,后面是选中父节点判断子节点是否要选中的。<td class="module_select">
             <input type="checkbox" name="ids"  value="${module.id},${module.pid}" onclick="checkChildren(this),checkParent(this)"/>  
                                    </td>
     
    function checkChildren(_cb){
            var ids = document.getElementsByName("ids");
            var _cb_id_value = _cb.value.split(",")[0];
            var _cb_pId_value = _cb.value.split(",")[1];
            /* 判断选中的节点是否有子节点,要是有则选中情况和自己一样*/
            for(var i=0;i<ids.length;i++){
                var id = ids[i];
                var id_value = id.value.split(",")[0];
                var pId_value = id.value.split(",")[1];
                if(_cb_id_value == pId_value){
                    id.checked = _cb.checked;
                    checkChildren(id);
                }
            }
        }
        
        function checkParent(_cb){
            var ids = document.getElementsByName("ids");
            var _cb_id_value = _cb.value.split(",")[0];
            var _cb_pId_value = _cb.value.split(",")[1];
            /* 判断选中的节点的同级节点是否有选中的,如果有则上级节点也被选中,反之不选中*/
            var count = 0;
            for(var i=0;i<ids.length;i++){
                var id = ids[i];
                var id_value = id.value.split(",")[0];
                var pId_value = id.value.split(",")[1];
                
                if(_cb_pId_value == pId_value){
                    if(id.checked){
                        count = count +1;
                    }
                }
            }
            if(count != 0){
                for(var i=0;i<ids.length;i++){
                    var id = ids[i];
                    var id_value = id.value.split(",")[0];
                    var pId_value = id.value.split(",")[1];
                
                    if(_cb_pId_value == id_value){
                        id.checked = true;
                        checkParent(id);
                    }
                }
            }else{
                for(var i=0;i<ids.length;i++){
                    var id = ids[i];
                    var id_value = id.value.split(",")[0];
                    var pId_value = id.value.split(",")[1];
                
                    if(_cb_pId_value == id_value){
                        id.checked = false;
                        checkParent(id);
                    }
                }
            }
            
        }
      

  4.   

    easyui,话说做tree还挺简单的!