无限树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 flash激活
Oct 19 Javascript
input的focus方法使用
Mar 13 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
js页面跳转的常用方法整理
Oct 18 Javascript
JsRender for object语法简介
Oct 31 Javascript
JavaScript中的各种操作符使用总结
May 26 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 Javascript
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
JS立即执行函数功能与用法分析
Jan 15 Javascript
基于jQuery实现可编辑的表格
Dec 11 jQuery
如何构建 vue-ssr 项目的方法步骤
Aug 04 Javascript
详解Js模块化的作用原理和方案
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
获取PHP警告错误信息的解决方法
2013/06/03 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
javascript版2048小游戏
2015/03/18 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
如何检测JavaScript的各种类型
2016/07/30 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
在Python中移动目录结构的方法
2016/01/31 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
python 如何将office文件转换为PDF
2020/09/22 Python
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
药剂专业学生求职信范文
2013/12/28 职场文书
社区矫正工作方案
2014/06/04 职场文书
班主任高考寄语
2015/02/26 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
小英雄雨来观后感
2015/06/09 职场文书
行政处罚决定书
2015/06/24 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript