0

0

ztree实现左边动态生成树右边为内容详情功能实例分享

小云云

小云云

发布时间:2017-12-28 11:21:15

|

3936人浏览过

|

来源于php中文网

原创

本文主要和大家分享ztree实现左边动态生成树右边为内容详情功能,ztree 是利用 jquery 的核心代码,实现一套能完成大部分常用功能的 tree 插件,兼容 ie、firefox、chrome 等浏览器 在一个页面内可同时生成多个 tree 实例 支持 json 数据 支持一次性静态生成 和 ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 tree 的节点移动、编辑、删除 支持任意更换皮肤 / 个性化图标(依靠css) 。

页面原型图:

功能需求:点击左边树上的子节点,像后台发送请求,将请求到的信息展示在右边的表单里面

前端代码实现:

引入css文档:

" />
" />
" />

引入js文件:




jsp 部分:HTML部分很简单,就是相当于一个盛放树的p

    js 部分:

    设置树节点

    有道智云AI开放平台
    有道智云AI开放平台

    有道智云AI开放平台

    下载
    var setting = {
        check : {
          enable : false
        },
        view : {
          selectedMulti : false,
        // addHoverDom: addHoverDom,
        // removeHoverDom: removeHoverDom,
        },
        data : {
          key : {
            name : "name"
          },
          simpleData : {
            enable : true,
            idKey : "id",
            pIdKey : "pId"
          }
        },
        edit : {
          enable : true,
          removeTitle : "删除节点",
          showRemoveBtn : $("#pdelete").val() == "delete" ? setRemoveBtn : false,
          showRenameBtn : false
        },
        callback : {
          // onRightClick : onRightClick,
          // 单击事件
          onClick : zTreeOnClick,
          onNodeCreated : zTreeOnNodeCreated,
          beforeRemove : zTreeBeforeRemove,
          onRemove : zTreeOnRemove
        }
      };

    初始化,判断是否展开节点:

    var zTreeObj;
      function initTree() {
        $.get(basePath + "/system/organ/getOrganTreeList", function(data) {
          zTreeObj = $.fn.zTree.init($("#organTree"), setting,
              data.returnData.organTree);
          zTreeObj.expandAll(false);
        });
      }
    // 给生成的节点添加class属性
    // 控制节点是否显示删除图标
      function setRemoveBtn(treeId, treeNode) {
        return treeNode.pId != null;
      }
      // 给生成的节点添加class属性
      function zTreeOnNodeCreated(event, treeId, treeNode) {
        var str = treeNode.tId + "_span";
        $("#" + str).addClass(treeNode.type);
      }

    单击事件,像后台发起请求,请求右侧的信息

    // 单击事件,向后台发起请求
      function zTreeOnClick(event, treeId, treeNode) {
        if (treeNode.id == "1") {
          return;
        }
        $("#moreinform").show();
        $("#baseinform").hide();
        $(".po_phone_num_r").css("display", "none");
        $(" .po_email_r").css("display", "none");
        if (treeNode.type == "organ") {
          $("#organ").html("部门名称");
          $("#Partman").show();
          $("#Email").hide();
          $("#sorgan").html("上级部门");
          $("#partaddress").html("部门地址");
          $("#partman").html("部门负责人");
          $("#parttel").html("手机");
          if (treeNode.id == "1") {
            $("#po").hide();
          } else {
            $("#po").show();
          }
          $.ajax({
            url : basePath + "/system/organ/" + treeNode.id,
            type : "get",
            success : function(data) {
              var organ = data.returnData.organ;
              $("#organId").val(organ.organId);
              $("#sex").hide();
              $("#name").val(organ.organName);
              $("#diz").val(organ.address);
              $("#tel").val(organ.phone);
              $("#manage").val(organ.manager);
              $("#parentOrgan").val(organ.parentId);
            }
          });
        } else {
          $("#po").show();
          $("#organ").html("姓名");
          $("#sex").show();
          $("#Email").show();
          $("#Partman").hide();
          $("#sorgan").html("所属部门");
          $("#partaddress").html("职位");
          $("#parttel").html("手机");
          $.ajax({
            url : basePath + "/system/organ/getStaff/" + treeNode.id,
            type : "get",
            success : function(data) {
              var staff = data.returnData.staff;
              $("#organId").val(staff.id);
              $("#name").val(staff.name);
              $("#diz").val(staff.position);
              $("#tel").val(staff.tel);
              $("#profession").val(staff.sex)
              $("#Email02").val(staff.email);
              $("#parentOrgan").val(staff.organId);
            }
          });
        }
      }

    删除事件:

    // 删除节点事件
      function zTreeOnRemove(event, treeId, treeNode) {
        if (treeNode.type == "organ") {
          $.ajax({
            url : basePath + "/system/organ/" + treeNode.id,
            type : "DELETE",
            success : function(data) {
              $("#confirmDialog").modal("hide"); // 点击删除按钮,隐藏弹框
              if (customGlobal.ajaxCallback(data)) {
                location.reload();
              }
            }
          });
        } else {
          $.ajax({
            url : basePath + "/system/organ/deleteStaff/" + treeNode.id,
            type : "DELETE",
            success : function(data) {
              $("#confirmDialog").modal("hide"); // 点击删除按钮,隐藏弹框
              if (customGlobal.ajaxCallback(data)) {
                initTree();
              }
            }
          });
        }
      }

    相关推荐:

    实例讲解jQuery使用zTree插件实现可拖拽功能

    实例详解zTree jQuery 树插件的使用

    实例详解jQuery 利用ztree实现树形表格

    相关专题

    更多
    php源码安装教程大全
    php源码安装教程大全

    本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

    7

    2025.12.31

    php网站源码教程大全
    php网站源码教程大全

    本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

    4

    2025.12.31

    视频文件格式
    视频文件格式

    本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

    7

    2025.12.31

    不受国内限制的浏览器大全
    不受国内限制的浏览器大全

    想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

    7

    2025.12.31

    出现404解决方法大全
    出现404解决方法大全

    本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

    42

    2025.12.31

    html5怎么播放视频
    html5怎么播放视频

    想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

    4

    2025.12.31

    关闭win10系统自动更新教程大全
    关闭win10系统自动更新教程大全

    本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

    3

    2025.12.31

    阻止电脑自动安装软件教程
    阻止电脑自动安装软件教程

    本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

    3

    2025.12.31

    html5怎么使用
    html5怎么使用

    想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

    2

    2025.12.31

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    MongoDB 教程
    MongoDB 教程

    共17课时 | 1.7万人学习

    ASP 教程
    ASP 教程

    共34课时 | 3万人学习

    麻省理工大佬Python课程
    麻省理工大佬Python课程

    共34课时 | 5万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号