OA权限树搭建 代码

2023-11-11

<ul id="tree">
										<s:iterator value="#application.topPrivilegeList">
											<li>
<input type="checkbox" name="privilegeIds" value="${id}" id="ck_${id}" οnclick="doChecked(this)"
					    <s:property value="%{id in privilegeIds?'checked':''}"/> />
					   <label for="ck_${id}"><span class="folder">${name}</span></label>
												<ul>
													<s:iterator value="children">
														<li>
<input type="checkbox" name="privilegeIds" value="${id}" id="ck_${id}" οnclick="doChecked(this)"
					    <s:property value="%{id in privilegeIds?'checked':''}"/> />
					   <label for="ck_${id}"><span class="folder">${name}</span></label>
															<ul>   
																<s:iterator value="children">
																	<li>
		<input type="checkbox" name="privilegeIds" value="${id}" id="ck_${id}"  οnclick="doChecked(this)"
					    <s:property value="%{id in privilegeIds?'checked':''}"/> />
					   <label for="ck_${id}"><span class="folder">${name}</span></label>
																</li>
																</s:iterator>
															</ul>
														</li>
													</s:iterator>
												</ul>
											</li>
										</s:iterator>
									</ul>

取消/选中上下级 跟随变化的js

 <script type="text/javascript">
        	$("#tree").treeview();
        </script>
        
  <script type="text/javascript">
	function doChecked(inp){
		
		// 当选中或取消一个权限时,也同时选中或取消所有的下级权限
		var boo=$(inp).attr("checked");
		/* alert(boo); */
		$(inp).siblings("ul").find("input").attr("checked", boo);
		
		// 当选中一个权限时,也要选中所有的直接上级权限
		if(inp.checked == true){
			$(inp).parents("li").children("input").attr("checked", true);
		}else{
			// 如果当前是取消选中,并且同级中没有被选中的项,则也取消上级的选中状态
			var jCheckedSibingCB = $(inp).parent("li").siblings("li").children("input[type=checkbox]:checked");
			
			if(jCheckedSibingCB.size() == 0){
				
				var jCheckboxInput = $(inp).parent().parent("ul").prev("label").prev("input[type=checkbox]");
				jCheckboxInput.attr("checked", 0);
				 
				// 递归操作每一层直属上级
				var jParentLi = jCheckboxInput.parent("li");
				if(jParentLi.size() > 0){
					doChecked(jCheckboxInput);
				} 
			
			}}
		
	}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OA权限树搭建 代码 的相关文章

随机推荐

  • 【Java】jdk5.0、jdk7、jdk8、jdk11、jdk17新特性

    文章目录 前言 一 jdk5 0新特性 二 jdk7新特性 三 jdk8新特性 四 jdk11新特性 五 jdk17新特性 前言 了解jdk新特性 一 jdk5 0新特性 泛型 允许类型或方法对各种类型的对象进行操作 同时提供编译时类型安全
  • 华为OD机试-高性能AI处理器-2022Q4 A卷-Py/Java/JS

    某公司研发了一款高性能AI处理器 每台物理设备具备8颗AI处理器 编号分别为0 1 2 3 4 5 6 7 编号0 3的处理器处于同一个链路中 编号4 7的处理器处于另外一个链路中 不同链路中的处理器不能通信 现给定服务器可用的处理器编号数
  • Opencascade之STL可视化与选取渲染风格

    在Opencascade中 STL模型可以的可视化有两种方式 一 STL模型加载为Shape对象 再可视化 1 1 STL模型加载为Shape对象 TopoDS Shape aShape try StlAPI Reader reader r
  • LeetCode两个数组的交集

    两个数组的交集 给定两个数组 nums1 和 nums2 返回 它们的交集 输出结果中的每个元素一定是 唯一 的 我们可以 不考虑输出结果的顺序 输入 nums1 1 2 2 1 nums2 2 2 输出 2 输入 nums1 4 9 5
  • Maven —— Plugin execution not covered by lifecycle configuration 错误

    转载自 https blog csdn net lmxmimihuhu article details 34436205 一 错误描述 Eclipse 导入已存在的Maven 后 pom xml 文件的execution 节点报错 错误位置
  • 网络安全的方向好就业吗

    一些网络安全专业方向的同学难免会有疑问 这个方向好就业吗 我能做些什么呢 今天就业老师就给大家解答一下相关的问题 网络安全是目前为止比较容易就业的一个方向 现今我国是被黑客攻击 信息丢失最严重的的国家之一 因此在市场需求和政策引导的共同推动
  • 微信小程序-0.11.122100版本更新问题

    官方更新了122100版本 一共有90几处改动 这里先不一一列举了 一 redirectTo和navigateTo不能再跳转到带有tab选项卡的页面 小程序新增了一个接口wx switchTab 这个接口是专门用来跳转到带有tabbar的页
  • 1.平台介绍:FISCO BCOS 区块链

    引言 区块链技术作为一种分布式 安全可信的数据记录和交互方式 正逐渐在各行各业展现出巨大潜力 然而 公共区块链的隐私性和性能限制使得企业更倾向于采用联盟链或私有链解决方案 FISCO BCOS Blockchain Open Consort
  • wildfly(JBOSS)启动报错

    报错内容 15 07 50 724 ERROR org jboss as controller management operation Controller Boot Thread WFLYCTL0013 Operation add fa
  • Delphi 判断fast report 是否存在未定义对象

    Assigned fastreport 对象 Boolean 返回 sql Fields i FieldName 获取列名 sql select from table tmp ADOQuery DLLMan Exe server Query
  • ansys选择一个面上所有节点_ANSYS选中无序关键点、节点并得到其编号

    看样子选中无序关键点 节点并得到其编号不可能的 在ANSYS中 有时我们需要采用APDL命令流选中一堆无序的关键点或节点 也就是这堆关键点或节点的编号完全是任意不连续的 因此无法采用根据编号来选中这堆无序的关键点或节点 而且假如最不利情况下
  • dockerfile创建lnmp镜像

    目录 一 创建lnmp的相关镜像 1 1 dockerfile创建php7 2 16镜像 1 2 dockerfile创建nginx 1 15 7镜像 1 3 mysql镜像是直接在docker仓库上pull 二 通过dockerpose
  • 串口服务器网页进不去怎么办,路由器登录入口进不去怎么办?

    问 路由器登录入口进不去怎么办 答 如果在设置路由器的时候 进不去路由器的登录入口 无法对路由器进行设置 这多半是用户自己操作有误导致的 也可能是路由器或者其它客观原因引起的 具体的解决办法如下 温馨提示 1 如果是用手机设置路由器时 手机
  • clang 01.clang简介

    文章目录 前言 1 Clang的工作流程 前言 Clang的官方网站是 http clang llvm org 它被认为是C家族的LLVM前端 Clang可能指代三种不同的实体 前端 由Clang程序库实现 编译器驱动器 由Clang命令和
  • 本机如何传文件到VMware 中

    本机传文件到VMware 中可以使用2种方法 1 安装tools 直接拖拽过去 2 实现文件共享 在VMware中没有安装解压文件的应用时 使用tools会不再适用 这时可以选择共享文件夹的方式 直接在本机解压文件 共享文件夹到VMware
  • C#中的Dispose模式

    声明 本文中的内容属于个人总结整理而来 个人水平有限 对于部分细节难免有理解错误及遗漏之处 如果您在阅读过程中有所发现 希望您能指正 同时文章中的部分内容也参考了其它大神的文章 如果文章中的内容侵犯了您的权益 表示非常歉意 请您指出 我将尽
  • C++职工管理系统

    C 演讲比赛流程管理系统 1 职工管理系统的需求 2 功能实现 2 1 创建管理类 2 2退出功能 2 3增加联系人信息 2 4显示职工信息 2 5删除离职职工 2 6修改职工信息 2 7查找职工信息 2 8按照编号排序 2 9清空所有文档
  • access建立er图_5G SA注册流程(2)- RRC连接建立

    导读 在正式讨论SA注册的相关NAS流程之前 笔者觉得有必要先讨论下SA下的RRC连接的建立流程 毕竟这是终端与网络交互的连接基础 同时也会讨论下不同场景下的RRC建立流程中信令内容的异同 RRC连接建立流程 SA注册流程主要是终端与5GC
  • 8X8X8光立方整体框架设计&技术细节

    从一师兄那拿来的 东西是师兄自己做的 觉得特有才一人 只是进了互联网公司 感觉做嵌入式更适合他 Powered by lihui Liusheng 2012 Shenyang 太过技术了 写给自己留着看的 不懂的可绕行 确实有些头大 在对最
  • OA权限树搭建 代码

    ul ul