Z_Tree的使用案例(出差地点的演示)
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的使用案例(出差地点的演示)的更多相关文章
- 关于csdn博客中案例效果的动态演示
在曾经一篇博文中,网友评论说要是案例效果是动态演示的就好了,我认为说的非常是有道理.由于一个简单的截图不能非常好的展示案例效果.要是有一张gif图能动态的播放案例效果就再好只是了.在这里提供一个小软件 ...
- [转载]基于UML的需求分析和系统设计(完整案例和UML图形演示)
小序: 从学生时代就接触到UML,几年的工作中也没少使用,各种图形的概念.图形的元素和属性,以及图形的画法都不能说不熟悉.但是怎样在实际中有效地使用UML使之发挥应有的作用,怎样捕捉用户心中的需求并转 ...
- BPM配置故事之案例14-数据字典与数据联动
小明遇到了点麻烦,他昨天又收到了行政主管发来的邮件,要求把出差申请单改由H3 BPM进行,表单如下 行政主管的出差申请表 小明对表单进行了调整,设计出了一份适合在系统中使用的表单,但在"出差 ...
- 【FLUENT案例】03:冲蚀
1 引子2 问题描述3 模型准备4网格5模型设置6 材料设置7 设定注入器8 修改材料9 Cell zone Conditions设置10 边界条件设置10.1 inlet入口设置10.2 出口设置1 ...
- D3js初探及数据可视化案例设计实战
摘要:本文以本人目前所做项目为基础,从设计的角度探讨数据可视化的设计的方法.过程和结果,起抛砖引玉之效.在技术方案上,我们采用通用web架构和d3js作为主要技术手段:考虑到项目需求,这里所做的可视化 ...
- 北京U3D外包团队 UE4红军抗战案例 Unity3D红军抗战案例 UE4下载和安装虚幻4游戏引擎
刚完整UE4红军抗战案例 Unity3D红军抗战案例,有在线演示(版权关系不方便发图),有UE4或Unity项目定制外包开发的欢迎联系我们 进入虚幻4的官方主页(https://www.unreale ...
- [css]演示:纯CSS实现的右侧底部简洁悬浮效果
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...
- Java 基础案例
1.变量及基本数据类型 案例1:变量声明及赋值 //1.变量的声明 int a; //声明一个整型的变量a int b,c,d; //声明三个整型变量b,c,d //2.变量的初始化 int a = ...
- 基于Struts2+MySQL的多表出差明细表单
下载地址:http://download.csdn.net/detail/qq_33599520/9790629 项目结构: UserAction package com.mstf.action; i ...
随机推荐
- “全栈2019”Java多线程第九章:判断线程是否存活isAlive()详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- 初探APT 攻击
作者:joe 所属团队:Arctic Shell 本文编写参考: https://www.freebuf.com/vuls/175280.html https://www.freebuf. ...
- How to write date range query in Nest ElasticSearch client?
Looking at the source code, there are two overloads of the OnField method. When I use the the that t ...
- Ambiguous mapping found. Cannot map 'XXXController' bean method
springMVC报错,原因方法之间@RequestMapping()到了同一个地址,导致springmvc无法定位
- Laravel 的核心概念
工欲善其事,必先利其器.在开发Xblog的过程中,稍微领悟了一点Laravel的思想.确实如此,这篇文章读完你可能并不能从无到有写出一个博客,但知道Laravel的核心概念之后,当你再次写起Larav ...
- leetcode-350-Intersection of Two Arrays II(求两个数组的交集)
题目描述: Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, ...
- 队列的理解和实现(一) ----- 循环队列(java实现)
什么是队列 我们都知道栈是先进后出的一种线性表,与之相反的是,队列是一种先进先出的线性表.它只允许在表的一端进行插入,而在另一端进行删除.举个例子来说,在生活中我们买东西需要进行排队,最先排队的可以最 ...
- (C/C++) STL 標頭檔 algorithm (一)
因為解題需求認識了一些STL相關funciton. 分別是 max_element (ForwardIterator first, ForwardIterator last); min_element ...
- python里有意思的文件查找glob模块
python标准库之glob介绍 glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合. 1.通配符 星号(*)匹配零个或多个字符 import glob for name in glob ...
- Https 客户端与服务器交互过程梳理
本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...