jQuery Ztree行政地区树状展示(点击加载)


Posted in Javascript onNovember 09, 2016

Ztree行政地区树状展示(点击加载) 效果如下:

jQuery Ztree行政地区树状展示(点击加载) 

开始贴代码:

实体类 Item,用于对Ztree的节点展示

public class Item {
 private String id;
 private String pId;
 private String name;
 private int type;
 private String isParent;
 //getters/setters
}

通过业务代码获取加载的对象:

@RequestMapping("/province/showProvince") 
@ResponseBody
public List<Item> showProvince(HttpServletRequest request,Model model){ 
 List<Province> all = provinceService.getAll();
 List<Item> list = new ArrayList<Item>(all.size());
 for(Province p : all){
 Item item = new Item();
 item.setId(p.getCode());
 item.setpId("0");
 item.setName(p.getProvinceName());
 item.setIsParent("true");
 item.setType(0);
 list.add(item);
 }
 return list; 
 }

关键看页面的脚本和实现:

页面代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Insert title here</title>
<link rel="stylesheet" href="css/demo.css" type="text/css" />
<link rel="stylesheet" href="css/zTreeStyle/zTreeStyle.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/menu.js"></script>
<script type="text/javascript" src="js/jquery.ztree.core-3.5.js"></script>
 
</head>
<body>
 <div class="zTreeDemoBackground left">
 <ul id="tree" class="ztree"></ul>
 </div>
</body>
</html>

menu.js

var menu = {
 setting : {
 data : {
 simpleData : {
 enable : true
 }
 },
 keep : {
 parent : true
 },
 /*
 * view : { dblClickExpand : false },
 */
 callback : { // 回调函数
 onExpand : addNode,
 onClick : addNode
 }
 },
 
 loadMenuTree : function() {
 $.post("province/showProvince.do", null, function(data) {
 $.fn.zTree.init($("#tree"), menu.setting, data);
 });
 }
};
$().ready(function() {
 menu.loadMenuTree();
});
 
function addNode(event, treeId, treeNode, clickFlag) {
 var zTree = $.fn.zTree.getZTreeObj("tree");
 if (treeNode.isParent && typeof (treeNode.children) == "undefined") {
 var type = treeNode.type;
 var parameter = {
 pId : treeNode.id
 };
 if (type == 0) {
 $.post("city/showCity.do", parameter, function(data) {
 zTree.addNodes(treeNode, data);
 });
 }
 if (type == 1) {
 $.post("county/showCounty.do", parameter, function(data) {
 zTree.addNodes(treeNode, data);
 });
 }
 }
}

其中onExpand : addNode,  onClick : addNode 两个回调函数,分别是在点击折叠按钮和节点时,异步加载子节点的内容,onDblClick添加回调函数时,发现会触发onExpand 事件,是因为zTree双击时触发onExpand事件,所以在setting中设置 view : { dblClickExpand : false } 可关闭这个默认设置。

最后,提供一个zTree的在线api: http://www.treejs.cn/v3/api.php

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
javascript使用eval或者new Function进行语法检查
Oct 16 Javascript
基于Jquery的标签智能验证实现代码
Dec 27 Javascript
jQuery查询数据返回object和字符串影响原因是什么
Aug 09 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
jquery调取json数据实现省市级联的方法
Jan 29 Javascript
AngularJS基础 ng-repeat 指令简单示例
Aug 03 Javascript
基于jQuery实现一个marquee无缝滚动的插件
Mar 09 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
Mar 29 Javascript
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
浅谈发布订阅模式与观察者模式
Apr 09 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 #Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 #Javascript
H5移动端图片压缩上传开发流程
Nov 09 #Javascript
微信小程序 网络API Websocket详解
Nov 09 #Javascript
微信小程序 网络API 上传、下载详解
Nov 09 #Javascript
微信小程序 网络API发起请求详解
Nov 09 #Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
Nov 09 #Javascript
You might like
ThinkPHP中where()使用方法详解
2016/04/19 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
js中parseInt函数浅谈
2013/07/31 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
python 搜索大文件的实例代码
2019/07/08 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
Python 随机按键模拟2小时
2020/12/30 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
工作岗位说明书模板
2014/05/09 职场文书
爱护草坪标语
2014/06/24 职场文书
消防宣传标语大全
2015/08/03 职场文书
导游词之无锡唐城
2019/12/12 职场文书
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis