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 相关文章推荐
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
Feb 12 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
vue-resource 拦截器使用详解
Feb 21 Javascript
Bootstrap栅格系统简单实现代码
Mar 06 Javascript
Vue常用指令V-model用法
Mar 08 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
Jul 13 Javascript
ES6正则表达式扩展笔记
Jul 25 Javascript
微信小程序 数据绑定及运算的简单实例
Sep 20 Javascript
详解vue-cli项目中怎么使用mock数据
May 29 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
一文搞懂redux在react中的初步用法
Jun 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
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
php中socket的用法详解
2014/10/24 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
简单实现js浮动框
2016/12/13 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
python获得图片base64编码示例
2014/01/16 Python
详解C++编程中一元运算符的重载
2016/01/19 Python
Python常见异常分类与处理方法
2017/06/04 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
详解Python文件修改的两种方式
2019/08/22 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
店长职务说明书
2014/02/04 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
小班上学期个人总结
2015/02/12 职场文书
五年级作文之成长
2019/09/16 职场文书
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers