0
点赞
收藏
分享

微信扫一扫

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用


系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、zTree-最简单的树-标准json数据
  • 二、简单json数据
  • 总结

前言

一、zTree-最简单的树-标准json数据

下载zTree,搜索引擎搜索zTree,转到如下

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_02

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_03


或者已经下载好了,直接解压

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_04


注意我们是导入这个zTree_v3-master的版本,这里只是改了名 统一是ztree

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_05

解压zTree_v3-master,查看demo

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_06


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_07


然后复制一份前面的tabs.jsp代码,改名叫ztree.jsp 我们继续在之前的功能上修改、增加功能

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_08


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_09


第1步,导入已经完成了

下面我们就进行第2步引用各种js、css、图片等,直接复制改改路径就好了

第2步

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_10


查看源码,看看它里面是引用是怎么用的,仿照、复制一下

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_11


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_12


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_13


或者这样也行,就引用三个,只要路径是对的,怎么玩都行

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_14


注意jquery-1.4.4.min.js注释掉,因为前面已经引入过了jquery-1.8.0了,继续引用1.4就重复了,会被1.4覆盖,而前面的代码是1.8调试的

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_15


接下来就是写json代码,我们暂时就写在局部就可以了

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_16


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_17


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_18

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_19


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_20


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_21


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_22

然后就可以运行了

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_23


如果我们还想继续加文件夹,比如加一个订单功能,怎么整呢?

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_24


我们继续往下研究

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_25


效果就是不显示文件夹

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_26


这样就写完了

从这里我们可以知道,如果不使用插件,可能要研究好几天,现在用这个插件,半个小时就整完了这个数再总结一下步骤如下:

1.查看/demo/cn/index.html的源代码

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_27

2.把zTreeStyle文件夹和jquery.ztree.all.js文件导入项目

跟上一篇文章的easyUI一样,也是导入文件、查看demo源码那些,有点类似

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_28

3.在jsp页面中导入上图的两个文件:js和css文件,jquery.js文件也要导入,如果已经导入了则不用导

4.依照/demo/cn/index.html源码,在jsp添加ztree的div

<ul id="tree" class="ztree" style="width:150px; overflow:auto;"></ul>

比如我们这个例子里面就是ul标签写在这个面板2的div里面

5.在文档加载完成后,初始化ztree的数据

$(function() {
		//1.节点数据
		var nodes = [
			{name: "用户管理", children: [
				{name: "用户添加"},
				{name: "用户管理"}
			]},
			{name:"系统管理"},
			{name:"权限管理"},
		];
		
		//2.节点配置
		var setting = {};
		
		//3.初始化节点内容
		$.fn.zTree.init($("#tree"), setting, nodes);

这样写局部的js也行

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_29

6.效果

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_30

二、简单json数据

而简单的json数据的树,我们前面的代码都不改。就只改一下json这块代码就行,注意它们只是json代码段不同,其它地方都是一样的

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_31

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_32


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_33


运行起来是报错的(没有我们想要的效果),我们查看一下源码

这一段dsimpleData意思就是简单数据

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_css_34


很明显,这个setting不能为空,我们从而知道要怎么改了,要根据setting来判断,因为默认是标准的json数据,

复制(但是不是照抄哦,如下图)上图这段代码,写了这个,他会根据规则来判断简单的json数据

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_json数据_35


BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_36

简单再总结一下
Js代码

//1.节点数据
		//顶级节点的pid设置为0
		var nodes = [
			{id:1, pId:0, name: "用户管理"},
			{id:11, pId:1, name: "用户添加"},
			{id:12, pId:1, name: "用户修改"},
			{id:2, pId:0, name: "系统管理"},
			{id:3, pId:0, name: "权限管理"},
			{id:31, pId:3, name: "快递员工"},
			{id:32, pId:3, name: "代理商"}
		];
		
		//2.节点配置
		var setting = {
			data: {
				simpleData: {
					enable: true//使用简单树形json数据
				}
			}
		};
		
		//3.初始化节点内容
		$.fn.zTree.init($("#tree"), setting, nodes);
	});

效果

BOS项目02_01_zTree-最简单的树-标准json数据和简单json数据讲解、以及它们俩的区别、数形控件的使用_jquery_37

总结

标准和简单json数据的区别:
1、其实他们只是树形结构的数据格式不一样而已
2、建议使用简单json数据来构建树型数据
附上完整代码吧,虽然不敲是没啥用的,但是也作参考吧:
05ztree_1simple.jsp:

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2021/3/14
  Time: 21:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/js/easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/js/easyui/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/js/easyui/demo/demo.css">
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui/jquery-1.8.0.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui/jquery.easyui.min.js"></script>

    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/js/zTree_v3-master/css/zTreeStyle/zTreeStyle.css">
    <%--<script type="text/javascript" src="${pageContext.request.contextPath}/js/zTree_v3-master/js/jquery-1.4.4.min.js"></script>--%>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/zTree_v3-master/js/jquery.ztree.core.js"></script>

    <title>05ztree_0.jsp</title>
</head>
<body class="easyui-layout">
<div data-options="region:'north'" style="height:50px;text-align:center">A</div>
<div data-options="region:'south'" style="height:50px;text-align:center">B</div>
<div data-options="region:'east'" title="East" style="width:180px;text-align:center">C</div>
<div data-options="region:'west'" title="West" style="width:200px;text-align:center">D
    <div class="easyui-accordion" data-options="fit:true">
        <script>
            //            function add(title) {
            //                alert(title);
            //            }
            var index = 0;
            function add(title){
//                index++;
                $('#tt').tabs('add',{
                    title:title,
                    content: '<div style="padding:100px" data-options="fit:true">Content'+title+"cs"+'</div>',
                    closable: true
                });
            }
            function remove(){
                var tab = $('#tt').tabs('getSelected');
                if (tab){
                    var index = $('#tt').tabs('getTabIndex', tab);
                    $('#tt').tabs('close', index);
                }
            }
        </script>
        <div title="面板1" >1</div>
        <a href="#"  onclick="add('收单列表')">增加选项卡</a>
        <br>
        <a href="#"  onclick="remove()">减少选项卡</a>

        <div title="面板2" >2
            <%--使用ztree来显示功能列表--%>
            <%--1、导入ztree的js/css/image到项目中/--%>
            <%--2、引用ztree的js/css/image这些--%>
            <%--3、提供ul标签--%>
            <ul id="treeDemo" class="ztree" ></ul>
            <%--4、在文档加载完成后给ul初始化数据--%>
            <script>
//                1、创建一个setting
//                var setting={};
//                 1.1、如果的简单的json数据,setting则不一样
                var setting = {
                    data:{
                        simpleData:{
                            enable:true,//使用简单树形json数据
//                            idKey:"id",
//                            pIdKey:"pId",
//                            rootPId:""
                        }
                      }
                    };
//                2、创建json数据
//                var nodes = [
//                    {name: "父节点1", children: [
//                        {name: "子节点1"},
//                        {name: "子节点2"}
//                    ]},
//                    {name: "用户功能", children: [
//                        {name: "添加用户"},
//                        {name: "删除用户"}
//                    ]},
//                    {
//                        name:"订单功能",children:[
//                        {name:"添加订单"}
//                    ]},
//                    {
//                        name:"权限功能"
//                    }
//                ];
//                2.1、创建简单的json数据
                var nodes = [
                    {id:1, pId:0, name: "父节点1"},
                    {id:11, pId:1, name: "子节点1"},
                    {id:12, pId:1, name: "子节点2"},
                    {id:2, pId:0, name: "用户功能"},
                    {id:21, pId:2, name: "删除用户"},
                    {id:22, pId:2, name: "添加用户"},
                    {id:3, pId:0, name: "订单功能"},
                    {id:31, pId:3, name: "删除订单"},
                    {id:32, pId:3, name: "添加订单"},
                ];
//                3、给ul标签填上数据(即初始化节点内容)
//                $(document).ready(function () {
                    $.fn.zTree.init($("#treeDemo"),setting,nodes);
//                })
            </script>
        </div>
        <div title="面板3">3</div>
    </div>
</div>
<div data-options="region:'center'" style="text-align: center">
    <div id="tt" class="easyui-tabs">
        <div title="选项卡1" data-options="closable:true">1</div>
        <div title="选项卡2" data-options="closable:true">2</div>
        <div title="选项卡3" data-options="closable:true">3</div>
    </div>
</div>
</body>
</html>


举报

相关推荐

0 条评论