Jquery zTree 树控件异步加载操作


Posted in Javascript onFebruary 25, 2016

zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件

  • 兼容 IE、FireFox、Chrome 等浏览器
  • 在一个页面内可同时生成多个 Tree 实例
  • 支持 JSON 数据
  • 支持一次性静态生成 和 Ajax 异步加载 两种方式
  • 支持多种事件响应及反馈
  • 支持 Tree 的节点移动、编辑、删除
  • 支持任意更换皮肤 / 个性化图标(依靠css)
  • 支持极其灵活的 checkbox 或 radio 选择功能
  • 简单的参数配置实现 灵活多变的功能

Jquery zTree 树控件异步加载操作

异步加载的意思就是: 当点击展开树节点时,才去请求后台action返回点击节点的子节点数据并加载。

这里面主要设计ztree的setting变量的async属性设置:

var setting = {
 async: {
  enable: true,
  url:InitServiceIpsData.action,
  autoParam:[id, name],
  dataFilter: filter 
 },

当点击展开树节点时,会请求url指定的action获取子节点数据,然后绑定到ztree上。

注意这里后台action返回的是JSON字符串,而ztree绑定新的节点数据只接收数组,所以需要在绑定前用filter函数进行数据清洗转换操作,将字符串转换为数组:

//过滤异步加载ztree时返回的数据 
 function filter(treeId, parentNode, childNodes) {
 if (!childNodes) 
  return null; 
 childNodes = eval((+childNodes+)); //必须转换为[{id:103,pId:1,name:'子节点3'}];这样的格式 
 return childNodes;
 }

这样点击展开ztree树节点时,就会请求action获取子节点数据并绑定了。 

下面是后台action的一个实现:

public String InitServiceIpsData()
 {
 HttpServletRequest request = ServletActionContext.getRequest();
 String id = request.getParameter(id);
 String name = request.getParameter(name);
 System.out.println(请求获取+name+的ip列表);
  
 List<hashmap<string,object>> list = new ArrayList<hashmap<string,object>>();  
 for(int i = 1; i <= 2; i++){ 
  HashMap<string,object> hm = new HashMap<string,object>();  
  hm.put(id, id + 0 + i);
  hm.put(pId, id);
  hm.put(name, name + _IP_ + i);
  hm.put(isParent, false);
  list.add(hm);
 } 
  
 JSONArray finalJson = JSONArray.fromObject(list);
 this.initServiceIpsData = finalJson.toString();
 return SUCCESS;
 }</string,object></string,object></hashmap<string,object></hashmap<string,object>

更多关于ztree控件的内容,请参考专题《jQuery插件ztree使用汇总》

以上就是Jquery zTree 树控件实现异步加载操作的详细步骤,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JavaScript 捕获窗口关闭事件
Jul 26 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
Javascript简单实现面向对象编程继承实例代码
Nov 27 Javascript
javascript跑马灯抽奖实例讲解
Apr 17 Javascript
js倒计时小实例(多次定时)
Dec 08 Javascript
利用Three.js如何实现阴影效果实例代码
Sep 26 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
webpack-dev-server自动更新页面方法
Feb 22 Javascript
使用React手写一个对话框或模态框的方法示例
Apr 25 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 Javascript
Jquery异步上传文件代码实例
Nov 13 jQuery
JavaScript使用setTimeout实现倒计时效果
Feb 19 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
Feb 25 #Javascript
js判断图片加载完成后获取图片实际宽高的方法
Feb 25 #Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
Feb 25 #Javascript
jquery zTree异步加载简单实例讲解
Feb 25 #Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
Feb 25 #Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 #Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 #Javascript
You might like
php给图片添加文字水印方法汇总
2015/08/27 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
webpack分离css单独打包的方法
2018/06/12 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
Django 前后台的数据传递的方法
2017/08/08 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
医院门卫岗位职责
2013/12/30 职场文书
环境保护建议书
2014/08/26 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
总结Python常用的魔法方法
2021/05/25 Python
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android