无限树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 13 Javascript
js location.replace与location.reload的区别
Sep 08 Javascript
jQuery中[attribute!=value]选择器用法实例
Dec 31 Javascript
AngularJs Javascript MVC 框架
Jun 20 Javascript
Javascript 制作图形验证码实例详解
Dec 22 Javascript
jquery代码规范让代码越来越好看
Feb 03 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
js自定义trim函数实现删除两端空格功能
Feb 09 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
May 20 Javascript
JavaScript监听触摸事件代码实例
Dec 30 Javascript
js实现轮播图效果 纯js实现图片自动切换
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
php imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
php实现的通用图片处理类
2015/03/24 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
mac上node.js环境的安装测试
2017/07/03 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
Python中set与frozenset方法和区别详解
2016/05/23 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
如何解决python多种版本冲突问题
2020/10/13 Python
python中实现栈的三种方法
2020/12/19 Python
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
葬礼司仪主持词
2014/03/31 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
护理实习生带教计划
2015/01/16 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
详解python字符串驻留技术
2021/05/21 Python