无限树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实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
js 效率组装字符串 StringBuffer
Dec 23 Javascript
javascript中的注释使用与注意事项小结
Sep 20 Javascript
jQuery控制输入框只能输入数值的小例子
Mar 20 Javascript
jquery实现的仿天猫侧导航tab切换效果
Aug 24 Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 Javascript
深入理解JavaScript定时机制
Oct 27 Javascript
JS设计模式之策略模式概念与用法分析
Feb 05 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
如何为vue的项目添加单元测试
Dec 19 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
Feb 27 Javascript
vue 重塑数组之修改数组指定index的值操作
Aug 09 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
初识Laravel
2014/10/30 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
浅谈Node Inspector 代理实现
2017/10/19 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
python使用pymysql实现操作mysql
2016/09/13 Python
python找出列表中大于某个阈值的数据段示例
2019/11/24 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
python获取整个网页源码的方法
2020/08/03 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
旅游管理本科生求职信
2013/10/14 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
教师岗位聘任书范文
2014/03/29 职场文书
庆祝教师节主持词
2015/07/06 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
python基于tkinter实现gif录屏功能
2021/05/19 Python
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
python缺失值填充方法示例代码
2022/12/24 Python