无限树Jquery插件zTree的常用功能特性总结


Posted in Javascript onSeptember 11, 2014

其实Ztree官网已经有详细的API文档,一切以官网上的说明为准,我在此只是结合实践总结几条常用的ztree的功能特性.

(ztree的语法结构是基于key-value的形式配置)

1:支持异步加载数据

语法配置:

async: {
enable: true, 

url:'abc.ashx',

otherParam: { "request": "requestname" }

}

简要说明:

enable :设置 zTree 是否开启异步加载模式.

url:Ajax 获取数据的 URL 地址.

otherParam:Ajax 请求提交的静态参数键值对.相当于ajax中的data参数.

2:加载数据并绑定,一般都是定义数据结构实体即model,此数据结构要包含层级关系通常包括:ID,父ID,Name.

然后配置语法:

data: {
simpleData: {
enable: true
}
}

或者

data: {
key: {
children: "childrens",

checked: "IsChecked"
}
}

简要说明:

simpleData:即可采用数组作为数据源绑定.此时异步加载的数据可为平行结构.

children: 指定节点数据中保存子节点数据的属性名称,此时异步加载的数据为树的折叠结构;所以后端加载数据时要使用递归算法.

3:支持单选,复选功能

语法配置:

check: {
enable: true,
chkStyle: "checkbox",
radioType: "all"
chkboxType:{ "Y": "", "N": "" }
},

data: {
key: {

checked: "IsChecked"
}
}

简要说明:

enable:设置 zTree 的节点上是否显示 checkbox / radio

chkStyle:勾选框类型(checkbox 或 radio)

radioType:radio 的分组范围

chkboxType:勾选 checkbox 对于父子节点的关联关系

checked:为加载数据后复选框是否勾选.IsChecked为后端数据结构model中定义的字段.

4:支持添加子节点,编辑节点,删除节点事件

我这里介绍如何采用自定义添加,编辑,删除按钮的方式

语法配置:

view: {
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom
 }

其中addHoverDom 函数为:

function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if ($("#addBtn_" + treeNode.id).length > 0) return;
var str= "<a id='addBtn_" + treeNode.id + "' onclick='自定义函数1(" + treeNode.DepartmentID + ")'>添加子节点</a>";
str+= "<a id='addBtn1_" + treeNode.id + "' onclick='自定义函数2(" + treeNode.DepartmentID + ")'>编辑节点</a>";
str+= "<a id='addBtn2_" + treeNode.id + "' onclick='自定义函数3(" + treeNode.DepartmentID + ")'>删除节点</a>";
sObj.after(str);
};

其中removeHoverDom函数为:

function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.id).unbind().remove();
$("#addBtn1_" + treeNode.id).unbind().remove();
$("#addBtn2_" + treeNode.id).unbind().remove();
 };

简要说明:

addHoverDom:用于当鼠标移动到节点上时,显示用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮

removeHoverDom:用于当鼠标移出节点时,隐藏用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮

Javascript 相关文章推荐
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
js实现网页抽奖实例
Aug 05 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
Jan 26 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
简单的分页代码js实现
May 17 Javascript
jQuery实现的自动加载页面功能示例
Sep 04 Javascript
Vue Ajax跨域请求实例详解
Jun 20 Javascript
深入理解vue2.0路由如何配置问题
Jul 18 Javascript
React-Native之定时器Timer的实现代码
Oct 04 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
基于js中的存储键值对以及注意事项介绍
Mar 30 Javascript
JS插件clipboard.js实现一键复制粘贴功能
Dec 04 Javascript
js通过location.search来获取页面传来的参数
Sep 11 #Javascript
Javascript中设置默认参数值示例
Sep 11 #Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 #Javascript
Extjs grid panel自带滚动条失效的解决方法
Sep 11 #Javascript
用js传递value默认值的示例代码
Sep 11 #Javascript
js图片实时加载提供网页打开速度
Sep 11 #Javascript
jQuery 复合选择器应用的几个例子
Sep 11 #Javascript
You might like
我的论坛源代码(九)
2006/10/09 PHP
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
Vue中图片Src使用变量的方法
2019/10/30 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
书单|人生苦短,你还不用python!
2017/12/29 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
Python重新加载模块的实现方法
2018/10/16 Python
详解Python是如何实现issubclass的
2019/07/24 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
Pycharm调试程序技巧小结
2020/08/08 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
小学英语教师先进事迹
2014/05/28 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
幼儿生日活动方案
2014/08/27 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
村党建工作汇报材料
2014/11/02 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
Go timer如何调度
2021/06/09 Golang
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python