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 相关文章推荐
JS获取地址栏参数的小例子
Aug 23 Javascript
javascript与有限状态机详解
May 08 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
Nov 03 Javascript
React Native 使用Fetch发送网络请求的示例代码
Dec 02 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
Jan 13 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
Jul 15 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
JavaScript RegExp 对象用法详解
Sep 24 Javascript
vue router 传参获取不到的解决方式
Nov 13 Javascript
vuejs中父子组件之间通信方法实例详解
Jan 17 Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 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
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
javascript Demo模态窗口
2009/12/06 Javascript
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
javascript instanceof,typeof的区别
2010/03/24 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
gearman的安装启动及python API使用实例
2014/07/08 Python
Python列表计数及插入实例
2014/12/17 Python
Python if语句知识点用法总结
2018/06/10 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
python把一个字符串切开的实例方法
2020/09/27 Python
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
土木工程专业个人求职信
2013/12/05 职场文书
电子商务专业个人的自我评价
2013/12/19 职场文书
社区工作者先进事迹
2014/01/18 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
读书笔记格式
2015/07/02 职场文书
禁毒心得体会范文
2016/01/15 职场文书
Django框架中视图的用法
2022/06/10 Python