0 zTree简介
树形控件的使用是应用开发过程中必不可少的。zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。
0.0 zTree的特点 •最新版的zTree将核心代码按照功能进行了分割,不需要的代码可以不用加载,如普通使用只需要加载核心的jquery.ztree.core-3.5.js,需要使用勾选功能加载jquery.ztree.excheck-3.5.min.js,需要使用编辑功能加载jquery.ztree.exedit-3.5.min.js •采用了延迟加载技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀 •兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器 •支持 JSON 数据 •支持静态 和 Ajax 异步加载节点数据 •支持任意更换皮肤 / 自定义图标(依靠css) •支持极其灵活的 checkBox 或 radio 选择功能 •提供多种事件响应回调 •灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽 •在一个页面内可同时生成多个 Tree 实例 •简单的参数配置实现,灵活多变的功能
0.1 zTree文件介绍 从zTree官网下载的zTree包括以下组成部分
•metroStyle文件夹:zTree的metro风格样式相关文件(图片及css样式表)。 •zTreeStyle文件夹:zTree的标准风格样式文件夹(图片及css样式表) •js文件:zTree.all.js是完整的js库,可单纯加载此文件实现所有zTree功能,ztree.core、ztree.excheck、ztree.exedit、ztree.exhide是对ztree按照功能进行的分割,分别对应基本功能、复选功能、编辑功能、显隐功能。
1 zTree的基本使用
1.0 zTree的创建 在页面中添加对zTree的js及css引用,由于zTree基于JQuery,JQuery的引用是必须的。
运行结果如下
1.1 zTree的配置 zTree的配置采用Json格式,按照配置的类型分为view(可视界面相关配置)、data(数据相关配置)、check(复选框相关配置)、callback(各类事件的回调函数配置)、async(zTree异步加载配置),一下是我们经常会使用到的一些配置及说明,其他详细配置可以参考zTree官方API文档的详细介绍。
<div class="jb51code">
<pre class="brush:js;">
var setting = {
view: {
selectedMulti: true,//设置是否能够同时选中多个节点
showIcon: true,//设置是否显示节点图标
showLine: true,//设置是否显示节点与节点之间的连线
showTitle: true,//设置是否显示节点的title提示信息
},data: {
simpleData: {
enable: false,//设置是否启用简单数据格式(zTree支持标准数据格式跟简单数据格式,上面例子中是标准数据格式)
idKey: "id",//设置启用简单数据格式时id对应的属性名称
pidKey: "pId" //设置启用简单数据格式时parentId对应的属性名称,ztree根据id及pid层级关系构建树结构
}
},check:{
enable: true //设置是否显示checkBox复选框
},callback: {
onClick: onClick,//定义节点单击事件回调函数
onRightClick: OnRightClick,//定义节点右键单击事件回调函数
beforeRename: beforeRename,//定义节点重新编辑成功前回调函数,一般用于节点编辑时判断输入的节点名称是否合法
onDblClick: onDblClick,//定义节点双击事件回调函数
onCheck: onCheck //定义节点复选框选中或取消选中事件的回调函数
},async: {
enable: true,//设置启用异步加载
type: "get",//异步加载类型:post和get
contentType: "application/json",//定义ajax提交参数的参数类型,一般为json格式
url: "/Design/Get",//定义数据请求路径
autoParam: ["id=id","name=name"] //定义提交时参数的名称,=号前面标识节点属性,后面标识提交时json数据中参数的名称
}
};