`

ztree的使用2---异步加载全部展开处理并处理唯一radio选中的方法

阅读更多

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的API

    zTree可以在同一个页面上生成多个树形实例,支持JSON数据格式,并提供了一次性静态生成和Ajax异步加载两种数据加载方式。此外,zTree还具备丰富的事件处理机制,支持节点的移动、编辑、删除,以及通过CSS实现的皮肤...

    jquery ztree3.5

    支持异步加载子节点数据,仅在用户展开父节点时请求服务器,降低初次加载时的负担,提高用户体验。 5. **节点操作** - **添加、删除、移动节点**:zTree允许动态操作树结构,方便对树形数据进行维护。 - **节点...

    jquery-zTreeAPI v2.6.zip

    zTree不仅支持静态数据加载,还能处理动态数据,通过Ajax异步加载节点,使得页面响应更迅速。同时,zTree提供了丰富的API和配置项,以满足不同场景的需求。 二、API详解 1. 数据接口 zTree的数据模型是JSON格式,每...

    ztree官方demo

    1. **动态加载**:zTree支持异步加载节点,减少初次加载时的数据量,提高用户体验。 2. **多选模式**:提供全选、半选、单选等模式,满足不同场景需求。 3. **拖放操作**:支持节点的拖放,实现节点的移动或复制。 4...

    ztree框架详解

    下面将详细介绍 zTree 的特性、组成结构及其基本使用方法。 ##### 1.1 zTree 特性 zTree 最大的优点在于其优异的性能、灵活的配置以及多功能的组合。具体特点包括: - **按需加载**:zTree 将核心代码按照不同...

    JQuery ztree带筛选、异步加载实例讲解

    本文将详细介绍如何使用JQuery ztree实现带有筛选功能的异步加载实例。 首先,我们要明白异步加载(Ajax)和静态加载的区别。静态加载是指在页面加载时,所有的数据已经准备好并随页面一起加载;而异步加载是指数据...

    zTree树形插件源码,完整实例

    5. **异步加载**:支持动态加载数据,当用户展开节点时,可以按需从服务器获取子节点数据,减少初始页面加载压力。 6. **多态展示**:除了基本的树形结构,zTree还支持 checkbox 或 radio 多选模式,满足不同场景下...

    在一个页面实现两个zTree联动的方法

    数据支持 JSON 格式,既能够一次性静态生成,也能通过 Ajax 异步加载,这为动态更新提供了便利。 zTree 提供了多种事件处理,例如节点的点击、拖动、编辑和删除等,方便用户根据业务逻辑进行响应。此外,它允许...

    详解js树形控件—zTree使用总结

    此外,zTree 还提供了丰富的事件响应回调,如点击、选中、展开等,以及增删改查的编辑功能,允许用户拖拽节点,甚至进行多节点拖拽。 在实际使用时,首先需要在页面中引入 `jQuery` 和 `zTree` 的相关 JavaScript ...

    Ztree无限极树

    同时,Ztree提供了丰富的API接口和事件监听,使得开发者可以方便地进行节点的增删改查、异步加载、节点选中状态控制以及节点点击事件的处理。 结合【描述】中的信息,我们可以推断这个项目不仅包含了Ztree的实现,...

    zTree树结构

    5. **初始化zTree**: 使用`$.fn.zTree.init()`方法初始化zTree,传入DOM元素和配置对象。 6. **调用API**: 根据需要调用zTree提供的API进行节点操作。 ### 四、zTree API及示例 1. **展开/折叠节点**: - `...

    ztree获取选中节点时不能进入可视区域出现BUG如何解决

    3. 在 `onAsyncSuccess` 回调中,遍历异步加载的节点,检查每个节点的 `id` 是否在 `ids` 中,如果找到匹配项,则进行相应的操作,如展开节点或进行其他处理。 在 `expandNodes` 函数中,检查 `nodes[i].isParent` ...

    前端web select 多层级选择。利用 ztree.js 实现下拉框的多选和单选demo.有兴趣的可以了解一下。

    在实际项目中,我们还需要处理异步加载、数据同步、状态保存等复杂情况。例如,当用户关闭页面后再次打开,zTree 应该能够根据之前的选择状态自动勾选相应的节点。这可能涉及到本地存储或服务器端的数据交互。 通过...

    bootstrap风格的树形插件zTree

    3. **节点操作**:zTree支持节点的展开、折叠、选中、取消选中、高亮显示等多种操作,并提供了便利的API供开发者调用。 4. **多选模式**:zTree支持单选和多选模式,可以配合checkbox或radio控件实现节点的选择,...

Global site tag (gtag.js) - Google Analytics