• jquery Treeview插件的使用及复选框的级联


      本文是对jquery的Treeview插件使用的实例介绍

      效果图如下:

                         

      文件结构如下:

      

      jquery_treeview下的目录:

      

      树型结构显示+复选框级联.html的内容:

      

      1 <html>
      2 <head>
      3     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      4     <title>配置权限</title>
      5     <script language="javascript" src="jquery-1.4.4.min.js"></script>
      6     <script language="javascript" src="jquery_treeview/jquery.treeview.js"></script>
      7     <link type="text/css" rel="stylesheet" href="jquery_treeview/jquery.treeview.css" />
      8 
      9     <style>
     10         span.folder{
     11             background-image: url("jquery_treeview/images/folder.gif");
     12             background-repeat: no-repeat;
     13             font-size: 14px;
     14             padding-left: 20px;
     15             height: 17px;
     16         }
     17 
     18         /*ul li{
     19             list-style: none;
     20         }*/
     21     </style>
     22 
     23     <script type="text/javascript">
     24 
     25         $(function(){
     26 
     27             $("[name=chkbox]").click(function(){
     28 
     29                 //当选中或取消一个权限时,也同时选中或取消所有的下级权限
     30                 $(this).siblings("ul").find("input").attr("checked",this.checked);
     31 
     32                 //当选中一个权限时,也要选中所有的直接上级权限
     33                 if(this.checked ==true){
     34                     $(this).parents("li").children("input").attr("checked",true);
     35                 }
     36 
     37                 //当某一个父权限下的子权限都不选中时,该父权限也不选中
     38                 var elements=$(this).parent("li").parent("ul").find("input");
     39                 var num=elements.length;
     40                 /*alert(num);*/
     41                 var a=0;
     42                 for(var i=0;i<num;i++){
     43                     if(elements[i].checked==false){
     44                         a++;
     45                     }
     46                 }
     47                 if(a==num){
     48                     $(this).parent("li").parent("ul").siblings("input").attr("checked",false);
     49                 }
     50 
     51 
     52             });
     53         });
     54     </script>
     55 </head>
     56 <body>
     57 
     58 <!-- 标题显示 -->
     59 <div id="Title_bar">
     60     <div id="Title_bar_Head">
     61         <div id="Title_Head"></div>
     62         <div id="Title"><!--页面标题-->
     63             <input type="checkbox" id="chkAll" onclick="$('[name=chkbox]').attr('checked',this.checked)">
     64             <label for="chkAll">全选</label>
     65              配置权限
     66         </div>
     67         <div id="Title_End"></div>
     68     </div>
     69 </div>
     70 
     71 <!--显示表单内容-->
     72 <div id=MainArea>
     73 
     74 
     75     <ul id="tree">
     76         <li>
     77             <input type="checkbox" id="cb0" name="chkbox">
     78             <label for="cb0"><span class="folder">系统管理</span></label>
     79         <ul>
     80             <li>
     81                 <input type="checkbox" id="cb1" name="chkbox">
     82                 <label for="cb1"><span class="folder">用户管理</span></label>
     83                 <ul>
     84                     <li><input type="checkbox" id="cb11" name="chkbox">
     85                         <label for="cb11"><span class="folder">用户列表</span></label></li>
     86                     <li><input type="checkbox" id="cb12" name="chkbox">
     87                         <label for="cb12"><span class="folder">新增用户</span></label></li>
     88                     <li><input type="checkbox" id="cb13" name="chkbox">
     89                         <label for="cb13"><span class="folder">修改用户</span></label></li>
     90                     <li><input type="checkbox" id="cb14" name="chkbox">
     91                         <label for="cb14"><span class="folder">删除用户</span></label></li>
     92                 </ul>
     93             </li>
     94             <li>
     95                 <input type="checkbox" id="cb2" name="chkbox">
     96                 <label for="cb2"><span class="folder">部门管理</span></label>
     97                 <ul>
     98                     <li><input type="checkbox" id="cb21" name="chkbox">
     99                         <label for="cb21"><span class="folder">部门列表</span></label></li>
    100                     <li><input type="checkbox" id="cb22" name="chkbox">
    101                         <label for="cb22"><span class="folder">新增部门</span></label></li>
    102                     <li><input type="checkbox" id="cb23" name="chkbox">
    103                         <label for="cb23"><span class="folder">修改部门</span></label></li>
    104                     <li><input type="checkbox" id="cb24" name="chkbox">
    105                         <label for="cb24"><span class="folder">删除部门</span></label></li>
    106                 </ul>
    107             </li>
    108             <li>
    109                 <input type="checkbox" id="cb3" name="chkbox">
    110                 <label for="cb3"><span class="folder">岗位管理</span></label>
    111                 <ul>
    112                     <li><input type="checkbox" id="cb31" name="chkbox">
    113                         <label for="cb31"><span class="folder">岗位列表</span></label></li>
    114                     <li><input type="checkbox" id="cb32" name="chkbox">
    115                         <label for="cb32"><span class="folder">新增岗位</span></label></li>
    116                     <li><input type="checkbox" id="cb33" name="chkbox">
    117                         <label for="cb33"><span class="folder">修改岗位</span></label></li>
    118                     <li><input type="checkbox" id="cb34" name="chkbox">
    119                         <label for="cb34"><span class="folder">删除岗位</span></label></li>
    120                 </ul>
    121             </li>
    122             <li>
    123                 <input type="checkbox" id="cb4" name="chkbox">
    124                 <label for="cb4"><span class="folder">审批流转</span></label>
    125             <ul>
    126                 <li><input type="checkbox" id="cb41" name="chkbox">
    127                     <label for="cb41"><span class="folder">审批</span></label></li>
    128             </ul>
    129             </li>
    130         </ul>
    131         </li>
    132 
    133     </ul>
    134 
    135 </div>
    136 
    137 <script language="javascript">
    138     $("#tree").treeview();
    139 </script>
    140 
    141 <div class="Description">
    142     说明:<br />
    143     1,选中一个权限时:<br />
    144     &nbsp;&nbsp;&nbsp;&nbsp; a,应该选中他的所有直系上级。<br />
    145     &nbsp;&nbsp;&nbsp;&nbsp; b,应该选中他的所有直系下级。<br />
    146     2,取消选择一个权限时:<br />
    147     &nbsp;&nbsp;&nbsp;&nbsp; a,应该取消选择他的所有直系下级。<br />
    148     &nbsp;&nbsp;&nbsp;&nbsp; b,如果同级的权限都是未选择状态,就应该取消选中他的直接上级,并向上做这个操作。<br />
    149 
    150     3,全选/取消全选。<br />
    151     4,默认选中当前岗位已有的权限。<br />
    152 </div>
    153 
    154 </body>
    155 </html>
    156     
    View Code
  • 相关阅读:
    单例模式
    工厂方法模式
    简单工厂模式
    LoadRunner11.0下载及安装链接~(By网络)
    lombok 介绍及基本使用方法
    360浏览器拦截弹窗,window.open方式打不开新页面
    js生成二维码
    Filter过滤器的写法
    JavaScript获取浏览器类型与版本
    如何截取date类型的年月日部分?
  • 原文地址:https://www.cnblogs.com/zq-boke/p/5830145.html
Copyright © 2020-2023  润新知