1:继承上篇文章,处理异步加载所有节点的方法
2:引入样式及类库
<!-- jquery ztree css -->
<link rel="stylesheet" href="${ctx}/resources/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<!-- jquery ztree 出现两个radio框
<script src="${ctx}/resources/ztree/js/jquery.ztree.all-3.3.js"></script>
-->
<script src="${ctx}/resources/ztree/js/jquery.ztree.core-3.3.js"></script>
<script src="${ctx}/resources/ztree/js/jquery.ztree.excheck-3.3.js"></script>
<script src="${ctx}/resources/ztree/js/jquery.ztree.exedit-3.3.js"></script>
3:设置
var setting = {
data: {
simpleData: {
enable: true
}
},
check: {
enable: true,
chkStyle: "radio",//
radioType: "all"//还有这里,ALL标识整个Tree只准选中一个节点
},
async : {
enable : true,
url : "${ctx}/main/getClassTreeData.do",
autoParam : [ "id"]
},
callback : {
onClick :clickNode,
beforeCheck:beforeCheck,
//异步展开,在当前节点展开之后,触发回调函数
onAsyncSuccess: onAsyncSuccess
}
};
$(document).ready(function() {
zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
expandNodes(zTree.getNodes());
});
function onAsyncSuccess(event, treeId, treeNode, msg) {
expandNodes(treeNode.children);
}
//打开所有节点
function expandNodes(nodes) {
if (!nodes)
return;
for ( var i = 0, l = nodes.length; i < l; i++) {
zTree.expandNode(nodes[i], true, false);
expandNodes(nodes[i].children);
}
}
//点击节点name时触发
function clickNode() {
var node = zTree.getSelectedNodes()[0];
if (node) {
if(!node.isParent){
zTree.checkNode(node, true, false);
}
} else {
alert("未找到节点");
}
}
//节点元素type被选中时触发
function beforeCheck(treeId,treeNode) {
//返回 false ,不触发相应的动作
if(treeNode.isParent){
return false;
}
}
//获取当前选中的节点
function getCheckedNode(){
var nodes = zTree.getCheckedNodes(true);
}
相关推荐
zTree可以在同一个页面上生成多个树形实例,支持JSON数据格式,并提供了一次性静态生成和Ajax异步加载两种数据加载方式。此外,zTree还具备丰富的事件处理机制,支持节点的移动、编辑、删除,以及通过CSS实现的皮肤...
支持异步加载子节点数据,仅在用户展开父节点时请求服务器,降低初次加载时的负担,提高用户体验。 5. **节点操作** - **添加、删除、移动节点**:zTree允许动态操作树结构,方便对树形数据进行维护。 - **节点...
zTree不仅支持静态数据加载,还能处理动态数据,通过Ajax异步加载节点,使得页面响应更迅速。同时,zTree提供了丰富的API和配置项,以满足不同场景的需求。 二、API详解 1. 数据接口 zTree的数据模型是JSON格式,每...
1. **动态加载**:zTree支持异步加载节点,减少初次加载时的数据量,提高用户体验。 2. **多选模式**:提供全选、半选、单选等模式,满足不同场景需求。 3. **拖放操作**:支持节点的拖放,实现节点的移动或复制。 4...
下面将详细介绍 zTree 的特性、组成结构及其基本使用方法。 ##### 1.1 zTree 特性 zTree 最大的优点在于其优异的性能、灵活的配置以及多功能的组合。具体特点包括: - **按需加载**:zTree 将核心代码按照不同...
本文将详细介绍如何使用JQuery ztree实现带有筛选功能的异步加载实例。 首先,我们要明白异步加载(Ajax)和静态加载的区别。静态加载是指在页面加载时,所有的数据已经准备好并随页面一起加载;而异步加载是指数据...
5. **异步加载**:支持动态加载数据,当用户展开节点时,可以按需从服务器获取子节点数据,减少初始页面加载压力。 6. **多态展示**:除了基本的树形结构,zTree还支持 checkbox 或 radio 多选模式,满足不同场景下...
数据支持 JSON 格式,既能够一次性静态生成,也能通过 Ajax 异步加载,这为动态更新提供了便利。 zTree 提供了多种事件处理,例如节点的点击、拖动、编辑和删除等,方便用户根据业务逻辑进行响应。此外,它允许...
此外,zTree 还提供了丰富的事件响应回调,如点击、选中、展开等,以及增删改查的编辑功能,允许用户拖拽节点,甚至进行多节点拖拽。 在实际使用时,首先需要在页面中引入 `jQuery` 和 `zTree` 的相关 JavaScript ...
同时,Ztree提供了丰富的API接口和事件监听,使得开发者可以方便地进行节点的增删改查、异步加载、节点选中状态控制以及节点点击事件的处理。 结合【描述】中的信息,我们可以推断这个项目不仅包含了Ztree的实现,...
5. **初始化zTree**: 使用`$.fn.zTree.init()`方法初始化zTree,传入DOM元素和配置对象。 6. **调用API**: 根据需要调用zTree提供的API进行节点操作。 ### 四、zTree API及示例 1. **展开/折叠节点**: - `...
3. 在 `onAsyncSuccess` 回调中,遍历异步加载的节点,检查每个节点的 `id` 是否在 `ids` 中,如果找到匹配项,则进行相应的操作,如展开节点或进行其他处理。 在 `expandNodes` 函数中,检查 `nodes[i].isParent` ...
在实际项目中,我们还需要处理异步加载、数据同步、状态保存等复杂情况。例如,当用户关闭页面后再次打开,zTree 应该能够根据之前的选择状态自动勾选相应的节点。这可能涉及到本地存储或服务器端的数据交互。 通过...
3. **节点操作**:zTree支持节点的展开、折叠、选中、取消选中、高亮显示等多种操作,并提供了便利的API供开发者调用。 4. **多选模式**:zTree支持单选和多选模式,可以配合checkbox或radio控件实现节点的选择,...