无限树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 相关文章推荐
Extjs学习笔记之八 继承和事件基础
Jan 08 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
自定义百度分享的分享按钮
Mar 18 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
JQuery学习总结【二】
Dec 01 Javascript
Html中 IFrame的用法及注意点
Dec 22 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
Sep 07 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
Aug 15 Javascript
小程序云开发教程如何使用云函数实现点赞功能
May 18 Javascript
vue框架制作购物车小球动画效果实例代码
Sep 26 Javascript
JS实现前端路由功能示例【原生路由】
May 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
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
php微信支付之APP支付方法
2015/03/04 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
javascript如何创建对象
2016/08/29 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
python中尾递归用法实例详解
2015/04/28 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
pytorch permute维度转换方法
2018/12/14 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
Python新手如何理解循环加载模块
2020/05/29 Python
python asyncio 协程库的使用
2021/01/21 Python
结构工程个人自荐信范文
2013/11/30 职场文书
自我鉴定怎么写
2013/12/05 职场文书
工程部经理岗位职责
2013/12/08 职场文书
学生自我评语
2015/01/04 职场文书
高一军训决心书
2015/02/05 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技