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 更新 JavaScript 数组的 uniq 方法
Jan 23 Javascript
javascript new fun的执行过程
Aug 05 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
Apr 20 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
Jun 04 Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
Jun 16 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
Sep 26 Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
May 27 Javascript
Js实现粘贴上传图片的原理及示例
Dec 09 Javascript
Ajax实现局部刷新的方法实例
Mar 31 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 json 格式控制
2015/12/24 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
js数组的操作详解
2013/03/27 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
JSON取值前判断
2014/12/23 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
python3 tkinter实现添加图片和文本
2019/11/26 Python
Python截图并保存的具体实例
2021/01/14 Python
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
千元咖啡店的创业计划书范文
2013/12/29 职场文书
学习经验交流会主持词
2014/04/01 职场文书
《雪儿》教学反思
2014/04/17 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
学校党员干部承诺书
2015/05/04 职场文书
毕业论文致谢词
2015/05/14 职场文书
宇宙与人观后感
2015/06/05 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
感谢信
2019/04/11 职场文书