无限树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实现很酷的水波文字特效实例
Feb 26 Javascript
jquery实现简洁文件上传表单样式
Nov 02 Javascript
jQuery操作基本控件方法实例分析
Dec 31 Javascript
jQuery绑定事件的四种方式介绍
Oct 31 Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
Apr 30 Javascript
Vue 图片压缩并上传至服务器功能
Jan 15 Javascript
keep-alive保持组件状态的方法
Dec 02 Javascript
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
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的错误信息
2006/10/09 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
常用js脚本
2006/12/03 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
python list转dict示例分享
2014/01/28 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
Django框架models使用group by详解
2020/03/11 Python
Python可以用来做什么
2020/11/23 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
文秘专业自荐信
2013/10/14 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
报关专员求职信范文
2014/02/22 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python