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 相关文章推荐
javascript中巧用“闭包”实现程序的暂停执行功能
Apr 04 Javascript
在IE浏览器中resize事件执行多次的解决方法
Jul 12 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
Sep 28 Javascript
jquery制作搜狐快站页面效果示例分享
Feb 21 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
javascript实现youku的视频代码自适应宽度
May 25 Javascript
Extjs4.0 ComboBox如何实现三级联动
May 11 Javascript
ES6 javascript中Class类继承用法实例详解
Oct 30 Javascript
vue系列之requireJs中引入vue-router的方法
Jul 18 Javascript
JavaScript私有变量实例详解
Jan 24 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
Apr 28 Javascript
Vue项目打包编译优化方案
Sep 16 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
PHP 源代码压缩小工具
2009/12/22 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
PHP fclose函数用法总结
2019/02/15 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
浅入深出Vue之自动化路由
2019/08/06 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
python3 字符串知识点学习笔记
2020/02/08 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
python集合的新增元素方法整理
2020/12/07 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
婚礼秀策划方案
2014/05/19 职场文书
党支部对转正的意见
2015/06/02 职场文书
余世维讲座观后感
2015/06/11 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python