java 对应实体类属定义

public class AccoSysmanResource{
   
    /**
     * 资源类型
     */
    private Integer resourceType;
    
    /**
     * 权限名称
     */
    private String name;
    
    /**
     * 权限描述
     */
    private String description;
    
    /**
     * 排序
     */
    private Integer level;
   
    /**
     * 子节点
     */
    private List<AccoSysmanResource> subResource;
    
    private Integer pid;

private Integer deleteFlag;

private Integer pMenuId;
    
    private Date createtime;

}

jsp页面循环遍历属性结构代码

 <!-- tree_start -->

 <div class="col-md-3">
                  <div class="tab-content">
                    <div role="tabpanel" class="tab-pane active" id="sour">
                        <div class="data-div">
                            <div class="row tableHeader">
                                <div class="col-lg-11 col-md-11 col-sm-11 col-xs-11">
                                  <label>
                                          <input name="checkname" type="checkbox" value="0" onclick="checkboxById(this,'biz')"/>菜单 全选
                                     </label>
                                </div>
                            </div>
                            <div class="tablebody">
                                <div id="collapseSystem" class="collapse in" aria-expanded="true">
                                
                                <!-- 第一层 start -->
                                <c:forEach items="${bizList}" var="menu" varStatus="rows">
                                    <div class="row">
                                        <div class="col-lg-11 col-md-11 col-sm-11 col-xs-11 levl3" role="button" >
                                            <c:if test="${empty menu.subResource}" var="biz_not_empty_subResource">
                                                  <span class="glyphicon glyphicon-pushpin"></span>
                                              </c:if>
                                              <c:if test="${not biz_not_empty_subResource}">
                                                  <i id="down_biz_${rows.index}" class="glyphicon glyphicon-hand-down" style="display: ${rows.index==0 ? 'none':''};"></i>
                                                  <i id="up_biz_${rows.index}" class="glyphicon glyphicon-hand-up" style="display: ${rows.index!=0 ? 'none':''};"></i>
                                              </c:if>
                                              <label>
                                                  <input name="bizMenuId" type="checkbox" value="${menu.pid}" id="biz_${rows.index}" onclick="checkboxById(this,'biz_${rows.index}_')"/>
                                                 </label>
                                                 <span role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse_biz_${rows.index}" aria-expanded="true" onclick="dom('biz_${rows.index}')">${menu.name}</span>
                                        </div>
                                    </div>
                                    
                                    <!-- 第二层 start -->
                                    <c:if test="${not biz_not_empty_subResource}">
                                    <div id="collapse_biz_${rows.index}" class="${rows.index==0 ? 'collapse in':'collapse'}" aria-expanded="${rows.index==0 ? 'true':'false'}">
                                    <c:forEach items="${menu.subResource}" var="m" varStatus="i">
                                        <div class="row" style="border-top:1px solid #E3E8EE;">
                                            <div class="col-lg-11 col-md-11 col-sm-11 col-xs-11 levl3">
                                                <label>
                                                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                                      <input name="bizMenuId"  value="${m.pid}" type="checkbox" id="biz_${rows.index}_${i.index}" onclick="checkboxById(this,'biz_${rows.index}_${i.index}_')" />
                                                      <span role="button" data-toggle="collapse" data-parent="#accordion" aria-expanded="true"  href="#collapse_biz_${rows.index}_${i.index}" >
                                                      <c:if test="${empty m.subResource}" var="biz_not_empty_m_subResource">
                                                      |--${m.name}
                                                      </c:if>
                                                      <c:if test="${not biz_not_empty_m_subResource}">
                                                          <span class="glyphicon glyphicon-triangle-bottom"></span>${m.name}
                                                      </c:if>
                                                      </span>
                                                     </label>
                                            </div>
                                        </div>
                                        
                                        <!-- 第三层start -->
                                        <c:if test="${not biz_not_empty_m_subResource}">
                                            <div id="collapse_biz_${rows.index}_${i.index}" class="collapse in" aria-expanded="true" >
                                            <c:forEach items="${m.subResource}" var="m2" varStatus="i3">
                                                <div class="row" style="border-top:1px solid #E3E8EE;">
                                                    <div class="col-lg-11 col-md-11 col-sm-11 col-xs-11 levl3" >
                                                        <label>
                                                              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                                              <input name="bizMenuId"  value="${m2.pid}" type="checkbox" id="biz_${rows.index}_${i.index}_${i3.index}" onclick="childCheckboxById(this,'biz_${rows.index}_${i.index}_${i3.index}')"  />
                                                              <span>|----${m2.name}</span>
                                                             </label>
                                                    </div>
                                                </div>
                                            </c:forEach>
                                            </div>
                                        </c:if>
                                        <!-- 第三层end -->
                                        
                                    </c:forEach>
                                    </div>
                                    </c:if>
                                    <!-- 第二层 end -->
                                    
                                </c:forEach>
                                <!-- 第一层 end -->
                               </div>
                            </div>
                            
                        </div>
                       </div>
                 </div>
              </div>
              <!-- tree_end -->

js文件(必须先导入Jquery.js 文件)

/** 全选 */
function checkboxAll(obj, cheName) {
    if ($(obj).prop("checked")){
    
        $("input[name='" + cheName + "']").prop("checked", true);
    } else {
     $("input[name='" + cheName + "']").prop("checked", false);
    }
}

/**cheId开头的Id全选*/
function checkboxById(obj, cheId){
    var parent2=cheId.substr(0,cheId.lastIndexOf('_'));
    var parent1=parent2.substr(0,parent2.lastIndexOf('_'));
    if ($(obj).prop("checked")){
        $("input[id='" + parent1 + "']").prop("checked", true);
        $("input[id^='" + cheId + "']").prop("checked", true);
    } else {
        $("input[id^='" + cheId + "']").prop("checked", false);
        var parent3=parent1+"_";
        var index=0;
        $("input[id^='"+parent3+"']:checked").each(function(){
            index++;         
        });
        if(index==0){
            $("input[id='" + parent1 + "']").prop("checked", false);
        }
    }
}
/**三级节点点击触发**/
function childCheckboxById(obj, parentCheId){
    var parent2=parentCheId.substr(0,parentCheId.lastIndexOf('_'));
    var parent1=parent2.substr(0,parent2.lastIndexOf('_'));
    if ($(obj).prop("checked")){
        $("input[id='" + parentCheId + "']").prop("checked", true);
        $("input[id='" + parent2 + "']").prop("checked", true);
        $("input[id='" + parent1 + "']").prop("checked", true);
    } else {
        $("input[id='" + parentCheId + "']").prop("checked", false);
        var parent3=parent2+"_";
        var index=0;
        $("input[id^='"+parent3+"']:checked").each(function(){
            index++;         
        });
        if(index==0){
            $("input[id='" + parent2 + "']").prop("checked", false);
        }
        var parent4=parent1+"_";
        var index2=0;
        $("input[id^='"+parent4+"']:checked").each(function(){
            index2++;         
        });
        if(index2==0){
            $("input[id='" + parent1 + "']").prop("checked", false);
        }
    }
}

Tree菜单 复选框选中控制DEMO的更多相关文章

  1. 关于textjs的tree带复选框的树

    通过查阅一些资料和自己之前了解到的一些相关知识,有时项目中需要用到.话不多说,先看一下效果图: 我写的这人员选择的树,主要是改写了TreePanel,如下代码: ExtendTreePanel.js ...

  2. jquery复选框 选中事件 及其判断是否被选中

    jquery复选框 选中事件 及其判断是否被选中 (2014-07-25 14:03:54) 转载▼ 标签: jquery复选框选中事件 分类: extjs jquery   今天做了 显示和不显示密 ...

  3. Web前端之复选框选中属性

    熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好 了.博主之前用户不少方法,经常Google到一些这个不好那个 ...

  4. Javascript 统计复选框选中个数

    var checked = document.getElementsByName("checked_c[]"); var checked_counts = 0; for(var i ...

  5. JS复选框选中

    Web前端之复选框选中属性   熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好了.博主之前用户不少方法,经常 ...

  6. springMvc接收ajax数组参数,以及jquery复选框选中、反选、全选、全不选

    一.复选框选中.反选.全选.全不选 html代码: <input type='checkbox' name='menuCheckBox' value='10' >苹果 <input ...

  7. Jquery获取当前页面中的复选框选中的内容

    在使用$.post提交数据时,有一个数据是复选框获取数据,所以在当前页面获取到复选框选中的值并提交到后端卡住了一下,解决方法如下: 这两个input就是复选框的内容: str += "< ...

  8. CheckStateChanged(复选框选中状态更改事件)和 CheckedChanged(单选按钮选中状态更改事件)二者区别?

    CheckStateChanged(复选框选中状态更改事件)和 CheckedChanged(单选按钮选中状态更改事件)二者区别: 复选框控件(CheckBox)提供了CheckedChanged控件 ...

  9. bootstrap table 复选框选中后,翻页不影响已选中的复选框

    使用的 jquery版本为 2.1.1 在项目中发现bootstrap table的复选框选中后,翻页操作会导致上一页选中的丢失,api中的 bootstrapTable('getSelections ...

随机推荐

  1. [转]Android静态变量的生命周期

    原文地址:https://my.oschina.net/jerikc/blog/137207 Android是用Java开发,其静态变量的生命周期遵守Java的设计.我们知道静态变量是在类被load的 ...

  2. CentOS 安装Paramiko模块

    转自:http://www.cnblogs.com/hyli/p/3910585.html 1.下载安装包: https://pypi.python.org/packages/source/p/par ...

  3. PE读写

    // 仿PE文件.cpp : Defines the entry point for the console application.// #include "stdafx.h"# ...

  4. WPF 动画显示控件

    当我们要显示一个控件的时候,不仅仅要显示这个控件,还要有动画的效果. 主要用到了DoubleAnimation类. public static void ShowAnimation(object co ...

  5. php 封装 知识点

    类由众多对象抽象出来的对象由类实例化出来的 成员变量成员方法成员属性 访问修饰符public 公有的protected 受保护的private 私有的 构造函数1.写法特殊2.执行时间特殊 面向对象的 ...

  6. 第一次使用UML的感觉

    刚开始接触的时候,其实我内心是拒绝的,因为感觉这种软件之前接触过,觉得就是相当于思维导图那种的. 可当自己使用的时候,觉得大纲总体上是类似是规划方向的,可是细节却让人深思,用什么图标,特别是用什么线, ...

  7. Delphi在创建和使用DLL的时候如果使用到string,请引入ShareMem单元

    当使用了长字符串类型的参数.变量时,如string,要引用ShareMem. 虽然Delphi中的string功能很强大,但若是您编写的Dll文件要供其它编程语言调用时,最好使用PChar类型.如果您 ...

  8. 【Java并发系列02】Object的wait()、notify()、notifyAll()方法使用

    一.前言 对于并发编程而言,除了Thread以外,对Object对象的wati和notify对象也应该深入了解其用法,虽然知识点不多. 二.线程安全基本知识 首先应该记住以下基本点,先背下来也无妨: ...

  9. mysql忘记root密码怎么办?

    有时候忘记mysql的root密码了,怎么办? 这个时候,我们可以修改my.cnf,添加以不检查权限的方式启动,再修改root,最后重启mysql数据库. (1)service mysql stop ...

  10. 题目:求1+2+…+n,

    题目:求1+2+-+n, 要求不能使用乘除法.for.while.if.else.switch.case等关键字 以及条件判断语句(A?B:C). java 实现 public class sum { ...