1.准备工作(下载zTree并添加到项目JS中)

2.HTML代码

<link rel="stylesheet" href="./js/zTree_v3-3.5.24/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="./js/zTree_v3-3.5.24/js/jquery.ztree.core.js"></script>
<script type="text/javascript" src="./js/zTree_v3-3.5.24/js/jquery.ztree.excheck.js"></script>

<tr>
  <td style="width: 10%" class="GridHeader" >出差地点<font color="red">*</font>:</td>
  <td width="30%" align="center">
    系统内
    <input name="NWXZ" type="radio" value="1" checked="true" onclick="bg()">
    系统外
    <input name="NWXZ" type="radio" value="2" onclick="bg()">
  </td>
  <td id="fs1" colspan="4" style="display: ">
    <input type="text" name="CCDD1" id="CCDD1" style="width: 100%;height: 100%" class="tb1" value="<%= ??????%>" >
  </td>
  <td id="fs2" colspan="" style="display: none">
  <div id="JGCS" >
    <input type="text" id="JGMC" name="JGMC" value="<%=?????? %>" onclick="onJG()" />
    <input type="hidden" id="JG" name="JG" value="<%=?????? %>" />
    <div id="JGdiv" class="bm" align="left" style="border:#cae4ff 1px solid; position:absolute;overflow:auto; width:200%; height:300px;display: none;">
      <ul id="treeJG" class="ztree" style="width:200px; "></ul>
      </div>
    </div>
  </td>
  <td id="fs3" colspan="3" style="display: none">
    <input type="text" name="CCDD2" id="CCDD2" style="width: 100%;height: 100%" class="tb1" value="<%= ??????%>" >
  </td>
</tr>

//JS

window.onload = function page_init() { 

  if($("#JG").val() == ""){
    //$("#JG").val("371626");
    $("#JGMC").val("--请选择省市县--");
  }

}

//生成弹出层的代码
var xOffset = 0;//向右偏移量
var yOffset = -300;//向下偏移量
$(document).ready(function(){
  //alert($("#JGMC").position().left);
  //alert($("#JGMC").position().top);
  /*
  $("#JGMC").click(function (){
  $("#JGdiv")
    .css("position", "absolute")
    .css("left", $("#JGMC").position().left+xOffset + "px")
    .css("top", $("#JGMC").position().top+25 +"px").show();

  }

);
*/
//判断鼠标在不在弹出层范围内
function checkIn(id){
  var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
  var yy = 30; //偏移量
  var str = "";
  var x=window.event.clientX;
  var y=window.event.clientY;
  y = y+scrollY;
  var obj=$("#"+id)[0];
  //alert((x>obj.offsetLeft)+"----"+(x<(obj.offsetLeft+obj.clientWidth))+"-2-"+(y>(obj.offsetTop-yy))+"-3-4-"+(y<(obj.offsetTop+obj.clientHeight-obj.scrollTop))+"-5-"+(obj.offsetTop+obj.clientHeight-obj.scrollTop));
  if(x>obj.offsetLeft&&x<(obj.offsetLeft+obj.clientWidth)&&y>(obj.offsetTop-yy)&&y<(obj.offsetTop+obj.clientHeight-obj.scrollTop)){
    //alert(obj.value);
    //if("" == obj || null == obj || undefined == obj){
    return true;
    }else{
      return false;
    }
  }
  //点击body关闭弹出层
  /*
  $(document).click(function(){
    alert("1-----5");
    var isJG = checkIn("JGCS");
    alert(isJG);
    if(!isJG){
      $("#JGdiv").hide();
    }
  });
  */
});

function onJG(){
  document.getElementById("JGdiv").style.display = document.getElementById("JGdiv").style.display == "none" ? "" : "none";
}

function setjgvalue(id,name){
  $("#JG").val(id);
  $("#JGMC").val(name);
}
//页面初始化籍贯
$(document).ready(function(){
  //树形菜单配置
  var setting = {
    data: {
      simpleData: {
        enable: true
      }
    },
    async: {
      enable: true,
      url:"<%= path%>/ajax/getitems.jsp?DMZL=JG",
      autoParam:["id", "name", "pId"],
      otherParam:{"otherParam":"zTreeAsyncTest"},
      dataFilter: filter
    },
    callback: {
      onCollapse:onjgExpand ,
      nExpand: onjgExpand
    }
  };
  $.fn.zTree.init($("#treeJG"), setting, <%= jg%>);
});
function onjgExpand(){
  $("#JGdiv").show();
}
function filter(treeId, parentNode, childNodes) {
  if (!childNodes) return null;
  var nodes = childNodes[0];
  for (var i=0, l=nodes.length; i<l; i++) {
    childNodes[0][i].name = nodes[i].name.replace('','');
  }
  return childNodes[0];
}
//页面初始话
function bg(){
  var val = $("input[name='NWXZ']:checked").val();
  //alert(val);
  if(val == 1){
    document.getElementById("fs1").style.display = "";
    document.getElementById("fs2").style.display = "none";
    document.getElementById("fs3").style.display = "none";
  }else{
    document.getElementById("fs1").style.display = "none";
    document.getElementById("fs2").style.display = "";
    document.getElementById("fs3").style.display = "";
  }
}

4.java代码

  注:数据库中添加存储省市县信息的表  

  //籍贯(省市县)
  List<Map> csdlist = new ArrayList();
  JSONArray csd = new JSONArray();
  List<Map> jglist = new ArrayList();
  JSONArray jg = new JSONArray();

  StringBuffer csdsql = new StringBuffer();
  csdsql.append(" SELECT CODE AS BH,DESCRIPTION AS MC,PPTR AS SJBH, NVL((SELECT 'true' FROM V_BM_XZQH D WHERE D.pptr = t.code AND ROWNUM = 1), 'false') ISPARENT FROM V_BM_XZQH T ");
  csdsql.append(" where PPTR = 'AG' ");
  csdsql.append(" ORDER BY 1 ");
  //csdsql.append(" START WITH PPTR = 'AG' ");
  //csdsql.append(" CONNECT BY PRIOR CODE = PPTR ");
  csdlist = dataManipulation.list(csdsql.toString(),DBA.getConn(),new String []{},true);
  //System.out.println("csdsql.toString():"+csdsql.toString());
  //籍贯(省市县)
  for(Map map : csdlist){
    JSONObject object = new JSONObject();
    object.accumulate("id", map.get("BH"));
    object.accumulate("pId",map.get("SJBH"));
    object.accumulate("name", map.get("MC"));
    object.accumulate("click", "setjgvalue('"+map.get("BH")+"','"+map.get("MC")+"');");
    object.accumulate("isParent", map.get("ISPARENT"));
    object.accumulate("iconClose", "./js/zTree_v3-3.5.24/css/zTreeStyle/img/diy/1_close.png");
    if(XDataConvert.TryToString(map.get("ISPARENT")).equals("true")){
      object.accumulate("iconOpen", "./js/zTree_v3-3.5.24/css/zTreeStyle/img/diy/1_open.png");
    }
    jg.add(object);
  }

5.效果图

Z_Tree的使用案例(出差地点的演示)的更多相关文章

  1. 关于csdn博客中案例效果的动态演示

    在曾经一篇博文中,网友评论说要是案例效果是动态演示的就好了,我认为说的非常是有道理.由于一个简单的截图不能非常好的展示案例效果.要是有一张gif图能动态的播放案例效果就再好只是了.在这里提供一个小软件 ...

  2. [转载]基于UML的需求分析和系统设计(完整案例和UML图形演示)

    小序: 从学生时代就接触到UML,几年的工作中也没少使用,各种图形的概念.图形的元素和属性,以及图形的画法都不能说不熟悉.但是怎样在实际中有效地使用UML使之发挥应有的作用,怎样捕捉用户心中的需求并转 ...

  3. BPM配置故事之案例14-数据字典与数据联动

    小明遇到了点麻烦,他昨天又收到了行政主管发来的邮件,要求把出差申请单改由H3 BPM进行,表单如下 行政主管的出差申请表 小明对表单进行了调整,设计出了一份适合在系统中使用的表单,但在"出差 ...

  4. 【FLUENT案例】03:冲蚀

    1 引子2 问题描述3 模型准备4网格5模型设置6 材料设置7 设定注入器8 修改材料9 Cell zone Conditions设置10 边界条件设置10.1 inlet入口设置10.2 出口设置1 ...

  5. D3js初探及数据可视化案例设计实战

    摘要:本文以本人目前所做项目为基础,从设计的角度探讨数据可视化的设计的方法.过程和结果,起抛砖引玉之效.在技术方案上,我们采用通用web架构和d3js作为主要技术手段:考虑到项目需求,这里所做的可视化 ...

  6. 北京U3D外包团队 UE4红军抗战案例 Unity3D红军抗战案例 UE4下载和安装虚幻4游戏引擎

    刚完整UE4红军抗战案例 Unity3D红军抗战案例,有在线演示(版权关系不方便发图),有UE4或Unity项目定制外包开发的欢迎联系我们 进入虚幻4的官方主页(https://www.unreale ...

  7. [css]演示:纯CSS实现的右侧底部简洁悬浮效果

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...

  8. Java 基础案例

    1.变量及基本数据类型 案例1:变量声明及赋值 //1.变量的声明 int a; //声明一个整型的变量a int b,c,d; //声明三个整型变量b,c,d //2.变量的初始化 int a = ...

  9. 基于Struts2+MySQL的多表出差明细表单

    下载地址:http://download.csdn.net/detail/qq_33599520/9790629 项目结构: UserAction package com.mstf.action; i ...

随机推荐

  1. LOJ#2070. 「SDOI2016」平凡的骰子(计算几何)

    题面 传送门 做一道题学一堆东西不管什么时候都是美好的体验呢-- 前置芝士 混合积 对于三个三维向量\(a,b,c\),定义它们的混合积为\((a\times b)\cdot c\),其中$\time ...

  2. JAVA数组的定义方式

    JAVA中,数组有以下几种定义方式: 1.先定义数组中元素的个数,然后再进行元素赋值 int[] a=new int[2]; a[0]='a'; a[1]='b';a[2]='c'; 2.元素个数与元 ...

  3. win7 下如何安装 Microsoft Web Application Stress Tool

    Microsoft Web Application Stress Tool是一个简单易用的性能压力测试工具,但因为其诞生的年代较早,在目前的win7系统下运行,会存在一些兼容性的问题,以下是我在实际使 ...

  4. IIFE格式js写法

    创建 加载文件方法 输出方法 方法书写 输出自定义变量 完整写法

  5. HDU-1087-Super Jumping! Jumping! Jumping!(线性DP, 最大上升子列和)

    Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  6. leetcode-73-矩阵置零

    题目描述:   给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [   [1,1,1],   [1,0,1],   [1, ...

  7. 为项目配置了Bean,结果Spring Boot并没有扫描到

    问题如图,而这个问题遇见的场景是因为自己在一个基础项目里面配置cros,按照网上的说法都配置了一边,结果发现前后端的通讯仍然报跨域问题.后来怀疑是否bean并没有被注入进去,导致没有生效,于是在代码中 ...

  8. CF1007D. Ants(树链剖分+线段树+2-SAT及前缀优化建图)

    题目链接 https://codeforces.com/problemset/problem/1007/D 题解 其实这道题本身还是挺简单的,这里只是记录一下 2-SAT 的前缀优化建图的相关内容. ...

  9. FileRecv VNCViewer 使用方法

    版本 区别 一路点点点 . 就ok了 看到这个页面 点击   vnc viewer 输入 老师 会告诉你 IP地址  点击 就ok

  10. MySQL之试图、触发器、事务、存储过程、函数

    阅读目录 一.视图 二.触发器 三.事务 四.存储过程 五.函数 六.流程控制 一.视图 视图是一个虚拟表(非真实存在),是跑到内存中的表,真实表是硬盘上的表,怎么就得到了虚拟表,就是你查询的结果,只 ...