无限树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 相关文章推荐
javascript 弹出窗口中是否显示地址栏的实现代码
Apr 14 Javascript
jquery调用wcf并展示出数据的方法
Jul 07 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
Jul 11 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
Nov 29 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
js实现砖头在页面拖拉效果
Nov 20 Javascript
JS+HTML5实现图片在线预览功能
Jul 22 Javascript
vue.js移动端app实战1:初始配置详解
Jul 24 Javascript
js html实现计算器功能
Nov 13 Javascript
vue与原生app的对接交互的方法(混合开发)
Nov 28 Javascript
原生JavaScript写出Tabs标签页的实例代码
Jul 20 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模板中出现空行解决方法
2011/03/08 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
php简单分页类实现方法
2015/02/26 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
javascript 写类方式之一
2009/07/05 Javascript
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
详解vue组件基础
2018/05/04 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Python栈类实例分析
2015/06/15 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
eBay美国官网:eBay.com
2020/10/24 全球购物
会计学个人自荐信模板
2013/12/13 职场文书
广告学专业自荐信范文
2014/02/24 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
公司证明怎么写
2014/09/22 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python