zTree checkbox 异步加载
来源:互联网 发布:泰牛程序员官网 编辑:程序博客网 时间:2024/05/18 02:18
jsp部分:
<%@ page language="java" contentType="text/html;charset=UTF-8"%><%@ include file="/common/taglibs.jsp"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>${applicationName}</title><link rel="stylesheet" type="text/css" href="${ctx}/css/${skinId}/style.css" /><link rel="stylesheet" href="${ctx}/css/zTreeStyle/zTreeStyle.css" type="text/css"><script type="text/javascript" src="${ctx}/js/jquery/jquery-1.7.1.min.js"></script><script type="text/javascript" src="${ctx}/js/zTree_v3/jquery.ztree.core-3.5.js"></script><script type="text/javascript" src="${ctx}/js/zTree_v3/jquery.ztree.excheck-3.5.js"></script><script type="text/javascript" src="${ctx}/js/comm/GeneralPageOperation.js"></script><!-- -- 创建人:liyafei -- 创建时间:2014-06-25 -- 备注:新建 -- @version 1.0 -- 说明:此页面是组织多选页面, 父页面必须有 id="orgIds",id="orgNames" 的两个标签, 分别是选择后的id值,name值,值中间用","隔开 --><script type="text/javascript"><!--var setting = {async: {enable: true,url:"org-tree!ajaxOrgTreeCheck.action",//异步请求地址autoParam:["id", "name=n", "level=lv"],dataFilter: filter},check: {enable: true,chkStyle: "checkbox",//多选chkboxType: { "Y" : "", "N" : "" }//不级联父节点选择}};function filter(treeId, parentNode, childNodes) {if (!childNodes) return null;for (var i=0, l=childNodes.length; i<l; i++) {childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');}return childNodes;}$(document).ready(function(){$.fn.zTree.init($("#treeDemo"), setting);});//保存选中的组织 function saveOrg() { var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); //获得选中所有节点,返回值 Array(JSON)var nodes = treeObj.getCheckedNodes(true); var str_id = ""; var str_name = ""; //遍历选中的节点 Array(JSON)for (var node in nodes){ for(var key in nodes[node]){ //只取JSON中的 id,name的值if("id" == key){if(str_id!=""){ str_id = str_id + ',' + nodes[node][key]; }else{str_id += nodes[node][key]; }}if("name" == key){if(str_name!=""){ str_name = str_name + ',' + nodes[node][key]; }else{str_name += nodes[node][key]; }}} } //把选择的值 赋值给父页面,父页面必须有 id="orgIds",id="orgNames" 的两个标签接收 window.parent.document.getElementById("orgIds").value = str_id; window.parent.document.getElementById("orgNames").value = str_name; sonCloseWindow(1);//关闭弹出的本页面 }//--></script></head><body><form action=""><div class="content_wrap"><div class="zTreeDemoBackground left"><ul id="treeDemo" class="ztree"></ul></div></div><table width="100%" class="UTry-FormStyle"> <tr> <td class="TextTd" colspan="3" align="center"> <br /> <input type="button" value="确定" class="buttonGM" onclick="saveOrg();" /> <input type="button" value="关闭" class="buttonGM" onclick="sonCloseWindow(1);return false;" /> </td> </tr> </table> </form></body></html>action部分:
/** * * 方法名: ajaxOrgTreeCheck* 方法描述: (组织多选)* 创建人:liyafei * 修改时间:2014-6-25 上午11:32:36 * 参数 @throws IOException 参数说明* 返回类型 void 返回类型* @throws */public void ajaxOrgTreeCheck() throws IOException{ //第一次加载根节点if (StringUtil.isBlank(this.id)) {UserModel user = (UserModel) Struts2Utils.getSession().getAttribute(Constants.USER_SESSION_ID);//根节点对象: 获得当前登录用户拥有权限的最高级组织rootOrg = orgService.maxViewOrg(user);Struts2Utils.getSession().setAttribute(Constants.GROUP_SESSION_ID, rootOrg.getId());JSONObject json=new JSONObject(); json.put("id",rootOrg.getId());//根节点id json.put("name", rootOrg.getName());//根节点名称 json.put("pid", rootOrg.getP_id());//父节点id //查询是否有子节点 List<OrgModel> listChlil = orgService.getChildrenByPIdAndMaxId(rootOrg.getId(), Struts2Utils.getSession().getAttribute(Constants.GROUP_SESSION_ID).toString()); if(!listChlil.isEmpty()){ json.put("isParent", true); json.put("icon", "/js/jstree/themes/default/depar1.png"); }else{ json.put("icon", "/js/jstree/themes/default/depar2.png"); }this.ajaxHttpResponseWriter(json);//加载子节点}else{//查询子节点List<OrgModel> list = orgService.getChildrenByPIdAndMaxId(id, Struts2Utils.getSession().getAttribute(Constants.GROUP_SESSION_ID).toString());JSONArray jsonArr = new JSONArray(); for(OrgModel org :list){ JSONObject json=new JSONObject(); json.put("id",org.getId());//节点id json.put("name", org.getName());//节点名称 json.put("pid", org.getP_id());//父节点id //查询是否有子节点 List<OrgModel> listChlil = orgService.getChildrenByPIdAndMaxId(org.getId(), Struts2Utils.getSession().getAttribute(Constants.GROUP_SESSION_ID).toString()); if(!listChlil.isEmpty()){ json.put("isParent", true);//是否有子节点 json.put("icon", "/js/jstree/themes/default/depar1.png"); }else{ json.put("icon", "/js/jstree/themes/default/depar2.png"); } jsonArr.put(json);}this.ajaxHttpResponseWriter(JSONArray.fromObject(jsonArr));}}
阅读全文
0 0
- zTree checkbox 异步加载
- zTree checkbox 异步加载
- zTree 异步加载
- Ztree 异步加载
- zTree 异步加载
- ztree异步加载数据
- python ztree 异步加载
- jquery zTree异步加载实例
- zTree异步加载简单demo
- Ztree异步加载树节点
- rails中的zTree异步加载
- jquery zTree异步加载实例
- zTree异步加载树形菜单
- ztree异步加载checked回显
- java zTree异步加载实战
- zTree 的异步加载加载实现--jfinal
- zTree 的异步加载加载实现--jfinal
- ztree+dwr实现异步加载树形菜单
- AVL树的基本实现
- oracle监听服务开启错误
- 使用 man -k 有时查不到相关 api 解决办法
- jquery事件的切换,和多个事件的绑定
- 工单系列3------ Spring扫不到的数据库实体类
- zTree checkbox 异步加载
- 剑指offer---链表倒数K节点
- SecureCRT连接虚拟机中的Linux系统(Ubuntu)
- 设计模式--抽象工厂模式
- Win7/Win10下配置adb环境变量
- appium自动化测试实践之python利用unittest进行测试用例执行的几种方式(转载)
- 系统整合 jasperreports 6.x 导出 HTML 的工具方法
- h2o.ai源码解析(1)—项目简介
- python inconsistent use of tabs and spaces in indentation