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日

相关文章

  • jQWidgets jqxQRcode lineColor属性

    以下是关于 jQWidgets jqxQRcode 组件中 lineColor 属性的详细攻略。 jQWidgets jqxQRcode lineColor 属性 jQWidgets jqxQRcode 组件的 lineColor 属性用于设置二维码中线条的颜色。 语法 // 设置二维码中线条的颜色 $(‘#qrcode’).jqxQRCode({ line…

    jquery 2023年5月12日
    00
  • 浅谈jquery高级方法描述与应用

    下面是浅谈jQuery高级方法描述与应用的完整攻略。 1. 概述 jQuery作为最流行的JavaScript库之一,提供了众多高级方法,能够帮助开发者快速进行DOM操作、事件处理、动画效果等各方面的处理,极大地提升了开发效率。 本文将从以下三个方面来讲解jQuery的高级方法:DOM操作、事件处理以及动画效果。 2. DOM操作 2.1 .append()…

    jquery 2023年5月27日
    00
  • jQWidgets jqxListBox filterDelay属性

    jQWidgets jqxListBox filterDelay属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件工具包。jqxListBox是其中之一。本文将详细介绍jqxListBox的filterDelay属性,包括定义、语法和示例。 filterDelay属性的定义 jqxListBox的filterDelay属性用于…

    jquery 2023年5月10日
    00
  • jQWidgets jqxGrid getcolumnproperty()方法

    以下是关于“jQWidgets jqxGrid getcolumnproperty()方法”的完整攻略,包含两个示例说明: 简介 jqx 控件的 getcolumnproperty() 方法用于获取表格中指定列的属性。该方法可以用于获取的宽度、标题、数据字段等属性。 完整攻略 以下是 jqxGrid 控件 columnproperty() 方法的完整攻略: …

    jquery 2023年5月10日
    00
  • phpQuery让php处理html代码像jQuery一样方便

    以下是详细讲解 “phpQuery让php处理html代码像jQuery一样方便” 的完整攻略。 什么是phpQuery? phpQuery是一个类库,它可以让PHP处理HTML跟jQuery一样方便。它使用了jQuery语法,所以如果您使用过jQuery,您应该能够迅速学习和使用phpQuery。 安装phpQuery 要使用phpQuery,您需要将其安…

    jquery 2023年5月28日
    00
  • ASP.NET MVC中异常Exception拦截的深入理解

    下面我将为你详细讲解ASP.NET MVC中异常Exception拦截的深入理解,包括其原理、用法和示例。 异常Exception拦截原理 在ASP.NET MVC中,当程序出现异常时,系统会默认返回一个500的HTTP状态码和相关的错误信息。而如果想要定制化的异常信息或者对异常进行拦截及处理,我们需要使用异常处理中间件。 ASP.NET MVC中异常拦截的…

    jquery 2023年5月27日
    00
  • jQWidgets jqxDataTable endUpdate()方法

    jQWidgets 是一个流行的 JavaScript UI 库,提供了许多可定制的 UI 组件。其中一个组件是 jqxDataTable,它是用于显示和编辑表格数据的组件。jqxDataTable 提供多个方法和属性,其中之一是 endUpdate()。下面是关于 jqxDataTable 的 endUpdate() 方法的详攻略: endUpdate()…

    jquery 2023年5月11日
    00
  • 如何从一个选择框中删除项目

    做一个从一个选择框中删除项目的攻略,主要需要用到JavaScript编写事件监听函数,以下是具体过程: HTML部分: 首先,我们写一个选择框: <select id="selectBox"> <option value="option1">选项1</option> <opti…

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