欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

无限树Jquery插件zTree的常用功能特性总结

程序员文章站 2023-11-11 17:58:46
其实ztree官网已经有详细的api文档,一切以官网上的说明为准,我在此只是结合实践总结几条常用的ztree的功能特性. (ztree的语法结构是基于key-value的形式配置...

其实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 内部的编辑、删除按钮