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     

时间: 2024-10-09 03:54:41

jquery Treeview插件的使用及复选框的级联的相关文章

jQuery学习(五)——使用JQ完成复选框的全选和全不选

1.在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框的选中状态设置成跟上面的一致! 2.具体代码实现: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>使用jQuery完成复选框的全选和全不

jquery特效(6)—判断复选框是否选中进行答题提示

前面有一段时间思想开了小差,跟着师父学习了一段时间才发现差距很大,看来我要奋起直追~\(≧▽≦)/~啦啦啦. 最近公司在做一个项目,需要根据用户选择的选项给出相应的提示,下面来看我写的测试程序的效果: 一.实现的原理: 第一步:判断用户选择哪一项,即哪个复选框被选中 第二步:根据复选框的选中情况给出相应的提示 二.下面来看主体程序: <!DOCTYPE html> <html> <head> <meta charset="utf-8" />

jquery获取当前被选择的复选框的value的集合

1.HTML代码 <input type="checkbox" name="productID" value="0"> <input type="checkbox" name="productID" value="1"> <input type="checkbox" name="productID" value=&qu

jquery操作radio单选按钮、checked复选框。

一.radio 取值: $('input[name=radio]:checked').val(); 二.checked 判断checked是否被选中 $("input[type='checkbox']").is(':checked') 返回结果:选中为true,未选中为false 注意事项: jq重复操作radio.checked的时候无效,使用prop,prop存在于jq高版本中. 设置选中 $("input[name=checked][value=A]").pr

jquery怎样获取多个复选框的值?

jquery的遍历方法可以获取复选框所欲的选中值 1 2 $("input:checkbox:checked").each(function(index,element));   // 为所有选中的复选框执行函数,函数体中可以取出每个复选框的值 $("input:checkbox:checked").map(function(index,domElement)); // 将所有选中的复选框通过函数返回值生成新的jQuery 对象 实例演示:点击按钮获取checkbo

Bootstrap 历练实例 - 按钮(Button)插件复选框

复选框(Checkbox) 您可以创建复选框按钮 组,并通过向 btn-group 添加 data 属性 data-toggle="buttons" 来添加复选框按钮组的切换. <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Boo

jquery实现复选框全选,全不选,反选中的问题

今天试了一下用jquery选择复选框,本来以为很简单的东西却有bug,于是搜索了一下找到了解决方法. html代码如下(这里没有用任何样式,就没有再放css了): <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="test_ch5.css" > <title>test_ch5</title> &

jquery中input复选框的checked属性

在今日的多选,反选,全选试验中,关于通过jQuery方法来实现复选框的选中与否问题,我有了以下发现: 1.不能通过.css('checked','checked')方法来设置或者获取复选框的checked属性,在控制台打印输出.css('checked'),结果为undefined, 不管在HTML中是否设置了checked='checked'; 2.通过attr添加属性即.attr('checked','abc'),会给HTML中input所在处添加checked='checked'这样的代码

jQuery复选框全选/取消全选

jQuery复选框 注意jquery版本的更新兼容问题 使用兼容1.6+所有版本 $("#selAll").on("click", function () { if($("#selAll").prop("checked") == true){ $("input[id='iid']").each(function(){ $(this).prop("checked", true); });