JQuery ZTree使用方法详解

JQuery ZTree使用方法详解

1. 引入ZTree库文件

首先需要在网页中引入 jquery.js 和 ztree 的 css 和 js 文件。

<!--引入JQuery文件-->
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>

<!--引入ztree的css和js文件-->
<link rel="stylesheet" href="https://cdn.bootcss.com/zTree.v3/3.5.29/css/zTreeStyle/zTreeStyle.min.css">
<script src="https://cdn.bootcss.com/zTree.v3/3.5.29/js/jquery.ztree.core.min.js"></script>

2. 创建zTree

创建一个占位符 div,然后使用下面的代码创建 zTree:

<div id="tree"></div>

<script>

    // zTree 的参数配置,深入使用请参考 API 文档(setting 配置详解)
    var setting = {
        data: {
            key: {
                name: "name"
            }
        }
    };

    // zTree 的数据属性,深入使用请参考 API 文档(zTreeNode 节点数据详解)
    var zNodes =[
        { name:"父节点1 - 展开", open:true,
            children: [
                { name:"父节点11 - 折叠",
                    children: [
                        { name:"叶子节点111"},
                        { name:"叶子节点112"},
                        { name:"叶子节点113"},
                        { name:"叶子节点114"}
                    ]},
                { name:"父节点12 - 折叠",
                    children: [
                        { name:"叶子节点121"},
                        { name:"叶子节点122"},
                        { name:"叶子节点123"},
                        { name:"叶子节点124"}
                    ]},
                { name:"父节点13 - 没有子节点", isParent:true}
            ]},
        { name:"父节点2 - 折叠",
            children: [
                { name:"父节点21 - 展开", open:true,
                    children: [
                        { name:"叶子节点211"},
                        { name:"叶子节点212"},
                        { name:"叶子节点213"},
                        { name:"叶子节点214"}
                    ]},
                { name:"父节点22 - 折叠",
                    children: [
                        { name:"叶子节点221"},
                        { name:"叶子节点222"},
                        { name:"叶子节点223"},
                        { name:"叶子节点224"}
                    ]},
                { name:"父节点23 - 折叠",
                    children: [
                        { name:"叶子节点231"},
                        { name:"叶子节点232"},
                        { name:"叶子节点233"},
                        { name:"叶子节点234"}
                    ]}
            ]},
        { name:"父节点3 - 没有子节点", isParent:true}
    ];

    // 初始化zTree
    $(document).ready(function(){
        $.fn.zTree.init($("#tree"), setting, zNodes);
    });

</script>

3. zTree的参数配置

  • data: 数据属性相关配置
  • key: 数据中节点的属性名称
    • name: 包含每个节点名称的属性

下面是一个例子,展示如何使用URL从后台获取异步数据:

<div id="tree"></div>

<script>

    var setting = {
        async: {
            enable: true,
            url: "demo/json/company.json",
            autoParam: ["id", "name=n", "level=lv"],
            otherParam: {"otherParam": "zTreeAsyncTest"},
            dataFilter: filter
        },
        data: {
            simpleData: {
                enable: true
            }
        }
    };

    function filter(treeId, parentNode, childNodes) {
        if (!childNodes) return null;
        for (var i=0, l=childNodes.length; i<l; i++) {
            childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
        }
        return childNodes;
    }

    $(document).ready(function(){
        $.fn.zTree.init($("#tree"), setting);
    });

</script>

示例

  • 示例1:一个简单示例

下面是一个简单的示例,展示如何创建一个简单的 zTree,并且在点击树节点时弹出相关信息:

<div id="tree"></div>

<script>

    var setting = {
        view: {
            dblClickExpand: false,
            showLine: true,
            selectedMulti: false
        },
        data: {
            simpleData: {
                enable:true,
                idKey: "id",
                pIdKey: "pId",
                rootPId: ""
            }
        },
        callback: {
            onClick: onClick
        }
    };

    var zNodes =[
        { id:1, pId:0, name:"随意勾选 1", open:true},
        { id:11, pId:1, name:"随意勾选 1-1", open:true},
        { id:111, pId:11, name:"随意勾选 1-1-1"},
        { id:112, pId:11, name:"随意勾选 1-1-2"},
        { id:113, pId:11, name:"随意勾选 1-1-3"},
        { id:114, pId:11, name:"随意勾选 1-1-4"},
        { id:12, pId:1, name:"随意勾选 1-2", open:true},
        { id:121, pId:12, name:"随意勾选 1-2-1"},
        { id:122, pId:12, name:"随意勾选 1-2-2"},
        { id:123, pId:12, name:"随意勾选 1-2-3"},
        { id:124, pId:12, name:"随意勾选 1-2-4"},
        { id:13, pId:1, name:"随意勾选 1-3", open:true},
        { id:131, pId:13, name:"随意勾选 1-3-1"},
        { id:132, pId:13, name:"随意勾选 1-3-2"},
        { id:133, pId:13, name:"随意勾选 1-3-3"},
        { id:134, pId:13, name:"随意勾选 1-3-4"},
        { id:135, pId:13, name:"随意勾选 1-3-5"}
    ];

    function onClick(e, treeId, treeNode) {
        alert(treeNode.name);
    }

    $(document).ready(function(){
        $.fn.zTree.init($("#tree"), setting, zNodes);
    });

</script>
  • 示例2:异步加载示例

下面是一个示例,展示如何使用异步加载zTree:

<div id="tree"></div>

<script>

    var setting = {
        async: {
            enable: true,
            url: "asyncData",
            autoParam: ["id"],
            otherParam: {"otherParam":"zTreeAsyncTest"},
            dataFilter: filter
        },
        view: {
            dblClickExpand: false
        },
        data: {
            simpleData: {
                enable: true
            }
        }
    };

    function filter(treeId, parentNode, childNodes) {
        if (!childNodes) return null;
        for (var i=0, l=childNodes.length; i<l; i++) {
            childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
        }
        return childNodes;
    }

    $(document).ready(function(){
        $.fn.zTree.init($("#tree"), setting);
    });

</script>

以上两个示例分别展示了如何使用 zTree 的基本配置和异步加载配置。通过以上的例子,读者可以了解到 zTree 的主要配置参数,可以根据自己的需求进行配置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JQuery ZTree使用方法详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQuery解析与处理服务器端返回xml格式数据的方法详解

    文本:jQuery解析与处理服务器端返回xml格式数据的方法详解 在前端开发中,经常需要处理服务器端返回的 XML 数据,jQuery 提供了方便的方法来解析和处理 XML 数据。 本文将详细介绍 jQuery 解析和处理服务器端返回 XML 数据的方法。 使用jQuery的ajax()方法获取XML数据 要获取XML数据,需要使用jQuery的ajax()…

    jquery 2023年5月28日
    00
  • 使用jquery.upload.js实现异步上传示例代码

    下面是使用jquery.upload.js实现异步上传的详细攻略,包括两个示例说明。 前置条件 在使用jquery.upload.js之前,需要确保以下前置条件已经满足: jQuery库已经以正确的方式被引用到当前页面中。 jquery.upload.js库已经被正确引用到当前页面中。 如果没有满足以上两个前置条件,则需要先按照对应的说明进行操作。 实现步骤…

    jquery 2023年5月27日
    00
  • jQWidgets jqxSlider数值属性

    关于”jQWidgets jqxSlider数值属性”的完整攻略分为以下几个部分: 了解jqxSlider组件 数值属性 示例说明 了解jqxSlider组件 jqxSlider是一个基于jQuery的滑块组件,它可以通过拖动滑块或手动输入数值来改变数值范围。它还包括许多可自定义的选项,如方向、样式、标签、步进和分段等。 数值属性 jqxSlider组件的数…

    jquery 2023年5月12日
    00
  • JQuery中基础过滤选择器用法实例分析

    JQuery中基础过滤选择器用法实例分析 JQuery是一款优秀的JavaScript库,它提供了一系列的DOM操作、事件处理、Ajax交互等功能,并且拥有非常灵活的选择器。而过滤选择器则是其中的一种基础选择器。 过滤选择器可以帮助我们通过元素的属性、状态等条件来过滤出特定的元素。本文将详细讲解JQuery中基础过滤选择器的用法并提供两个实例。 基础过滤选择…

    jquery 2023年5月28日
    00
  • jQuery中wrapAll()方法用法实例

    下面是“jQuery中wrapAll()方法用法实例”的完整攻略: 1. wrapAll()方法简介 wrapAll()是一个jQuery方法,它可以将目标元素的所有子元素包裹在一个单一的父元素中。语法如下: $(selector).wrapAll(wrappingElement) 其中,selector为要被包裹的元素的选择器,wrappingElemen…

    jquery 2023年5月28日
    00
  • jQuery中:selected选择器用法实例

    jQuery中:selected选择器用法实例 什么是:selected选择器 在jQuery中,:selected选择器用于选择所有被选中的option元素。当一个或多个option元素被选中时,它们将会成为被选中的option集合,而这个集合正是:selected选择器所匹配的对象。 用法示例 示例1:根据选择框选中的值显示相应的内容 <selec…

    jquery 2023年5月28日
    00
  • jQuery next() 和 nextAll() 示例

    以下是关于jQuery中next()和nextAll()方法的完整攻略: 什么是next()和nextAll()方法? next()方法用于选择匹配元素集合中每个元素的下一个同级元素,而nextAll()方法用于选择匹配元素集合中每个元素的所有后续同级元素。 如何使用next()和nextAll()方法? 可以使用以下代码来使用next()和nextAll(…

    jquery 2023年5月12日
    00
  • jQuery getScript()方法

    当我们需要动态加载一个 JavaScript 文件时,可以使用 jQuery 的 getScript() 方法。getScript() 方法具有以下语法: $.getScript(url [,success]) 其中,url 表示需要加载的 JavaScript 文件的 URL,success 是可选参数,表示加载成功后的回调函数。 下面我们详细讲解一下使用…

    jquery 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部