无限树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 相关文章推荐
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
JS删除字符串中重复字符方法
Mar 09 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
jQuery 遍历map()方法详解
Nov 04 Javascript
JavaScript提高加载和执行效率的方法
Feb 03 Javascript
JS变量及其作用域
Mar 29 Javascript
vue刷新和tab切换实例
Feb 11 Javascript
vue实现树形菜单效果
Mar 19 Javascript
小程序清理本地缓存的方法
Aug 17 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
JS ES6异步解决方案
Apr 29 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
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
Node.js编码规范
2014/07/14 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
python获取list下标及其值的简单方法
2016/09/12 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
浅谈python3中input输入的使用
2019/08/02 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
EJB面试题
2015/07/28 面试题
师范生实习个人的自我评价
2013/09/28 职场文书
幼教个人求职信范文
2013/12/02 职场文书
家佳咖啡店创业计划书
2013/12/27 职场文书
教师岗位聘任书范文
2014/03/29 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
保护地球的宣传语
2015/07/13 职场文书
python urllib库的使用详解
2021/04/13 Python
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers