您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

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

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 其实Ztree官网已经有详细的API文档,一切以官网上的说明为准,我在此只是结合实践总结几条常用的ztree的功能特性.

(ztree的语法结构是基于key-value的形式配置)

1:支持异步加载数据

语法配置:

  1 async: { 2 enable: true,  3    4 url:'abc.ashx', 5    6 otherParam: { "request": "requestname" } 7    8 }

简要说明:

enable :设置 zTree 是否开启异步加载模式.

url:Ajax 获取数据的 URL 地址.

otherParam:Ajax 请求提交的静态参数键值对.相当于ajax中的data参数.

2:加载数据并绑定,一般都是定义数据结构实体即model,此数据结构要包含层级关系通常包括:ID,父ID,Name.

然后配置语法:

  1 data: { 2 simpleData: { 3 enable: true 4 } 5 }

或者

  1 data: { 2 key: { 3 children: "childrens", 4    5 checked: "IsChecked" 6 } 7 }

简要说明:

simpleData:即可采用数组作为数据源绑定.此时异步加载的数据可为平行结构.

children: 指定节点数据中保存子节点数据的属性名称,此时异步加载的数据为树的折叠结构;所以后端加载数据时要使用递归算法.

3:支持单选,复选功能

语法配置:

  01 check: { 02 enable: true, 03 chkStyle: "checkbox", 04 radioType: "all" 05 chkboxType:{ "Y": "", "N": "" } 06 }, 07    08 data: { 09 key: { 10    11 checked: "IsChecked" 12 } 13 }

简要说明:

enable:设置 zTree 的节点上是否显示 checkbox / radio

chkStyle:勾选框类型(checkbox 或 radio)

radioType:radio 的分组范围

chkboxType:勾选 checkbox 对于父子节点的关联关系

checked:为加载数据后复选框是否勾选.IsChecked为后端数据结构model中定义的字段.

4:支持添加子节点,编辑节点,删除节点事件

我这里介绍如何采用自定义添加,编辑,删除按钮的方式

语法配置:

  1 view: { 2 addHoverDom: addHoverDom, 3 removeHoverDom: removeHoverDom 4  }

其中addHoverDom 函数为:

  1 function addHoverDom(treeId, treeNode) { 2 var sObj = $("#" + treeNode.tId + "_span"); 3 if ($("#addBtn_" + treeNode.id).length > 0) return; 4 var str= "<a id='addBtn_" + treeNode.id + "' onclick='自定义函数1(" + treeNode.DepartmentID + ")'>添加子节点</a>"; 5 str+= "<a id='addBtn1_" + treeNode.id + "' onclick='自定义函数2(" + treeNode.DepartmentID + ")'>编辑节点</a>"; 6 str+= "<a id='addBtn2_" + treeNode.id + "' onclick='自定义函数3(" + treeNode.DepartmentID + ")'>删除节点</a>"; 7 sObj.after(str); 8 };

其中removeHoverDom函数为:

  1 function removeHoverDom(treeId, treeNode) { 2 $("#addBtn_" + treeNode.id).unbind().remove(); 3 $("#addBtn1_" + treeNode.id).unbind().remove(); 4 $("#addBtn2_" + treeNode.id).unbind().remove(); 5  };

简要说明:

addHoverDom:用于当鼠标移动到节点上时,显示用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮

removeHoverDom:用于当鼠标移出节点时,隐藏用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮