Jquery结合Ztree生成树

Ztree的api http://www.ztree.me/v3/api.php

Ztree的网上demo http://www.ztree.me/v3/demo.php#_102

Ztree的本地demo

1、添加样式、js

<link rel="stylesheet" href="${ctx}/hollybeacon/resources/plugins/zTree_v3/css/demo.css" type="text/css">
<link rel="stylesheet" href="${ctx}/hollybeacon/resources/plugins/zTree_v3/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="${ctx}/hollybeacon/resources/plugins/zTree_v3/js/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="${ctx}/hollybeacon/resources/plugins/zTree_v3/js/jquery.ztree.excheck-3.5.js"></script>
<script type="text/javascript" src="${ctx}/hollybeacon/resources/plugins/zTree_v3/js/jquery.ztree.exedit-3.5.js"></script>
<script type="text/javascript">

2、html设置一个div、ul,注意ul的class是固定的ztree

<div class="treecontentpane">
     <ul id="busTree" class="ztree">
     </ul>
</div>

3、写js操作数据

 1、setting配置详情
var setting = {

    //显示
    view: {
             selectedMulti: false//在复制的时候,是否允许选中多个节点
       },
    //增删改,移动复制
    edit: {
     enable: true, //如果enable为flase,那么树就不能移动了
     showRemoveBtn: true, //是否显示树的删除按钮
     showRenameBtn: true, //是否显示数的重命名按钮
     isSimpleData : true, //数据是否采用简单 Array 格式,默认false
     treeNodeKey : "id",  //在isSimpleData格式下,当前节点id属性
     treeNodeParentKey : "parentId",//在isSimpleData格式下,当前节点的父节点id属性
     showLine : true, //是否显示节点间的连线
     //拖拽
     drag: {
      isCopy: true,//能够复制
      isMove: true//能够移动
     }
    },
    //异步
    async: {
     enable: true, //开启异步加载
     type:"get",
     url:holly.getPath() + "/rest/treeCode/showZtreeSyncRest",
     contentType:"application/json",
     autoParam: ["id"], //异步加载数据,自动添加id参数
     dataFilter:filter //过滤,跟easy-ui中的loadFilter方法一样。
     //比如
    },
    //节点显示的值
    data:{
     key:{
      name:"codeName"
     },
     //
     simpleData:{
      enable:true,//如果为true,可以直接把从数据库中得到的List集合自动转换为Array格式。而不必转换为json传递
      idKey:"id",//节点的id
      pIdKey:"parentId",//节点的父节点id
      rootPId:null
     }
    },
    //回调函数
    callback: {
     beforeDrag: beforeDrag,//拖拽之前
     beforeDrop: beforeDrop,//拖拽结束
     onDrop: zTreeOnDrop,//拖拽结束后
     //onDrag: zTreeOnDrag,//拖拽的时候
     beforeRemove: zTreeBeforeRemove,//删除节点前
     onRemove: zTreeOnRemove,//节点删除之后
     beforeEditName: zTreeBeforeEditName,//进行编辑之前
     //beforeRename: zTreeBeforeRename,//重命名节点之前
     //onRename: zTreeOnRename,//重命名之后
     onClick: zTreeOnClick,//点击
     onRightClick: zTreeOnRightClick,//右键
     onAsyncSuccess: zTreeOnAsyncSuccess//异步加载
     //beforeExpand: beforeExpand,
     //onAsyncSuccess: onAsyncSuccess,
     //onAsyncError: onAsyncError
    }
   };
   //加载树的默认显示根节点,以及一级节点
    function zTreeOnAsyncSuccess(event, treeId, msg) {
      try {
       var nodes = zTree.getNodes();
       for(var i = 0;i<nodes.length;i++){
       //展开一级节点
        zTree.expandNode(nodes[i], true);
       }
      } catch (err) {
       holly.showError("数据异常", err);
      }
    }
    //设置一个标识,是为了解决点击的时候,执行异步。
    /* var firstAsyncSuccessFlag = 0;
    function zTreeOnAsyncSuccess(event, treeId, msg) {
     if (firstAsyncSuccessFlag == 0 || firstAsyncSuccessFlag == 1) {
      try {
       //调用默认展开第一个结点
       var selectedNode = zTree.getSelectedNodes();
       var nodes = zTree.getNodes();
       zTree.expandNode(nodes[0], true);
       var childNodes = zTree.transformToArray(nodes[0]);
       zTree.expandNode(childNodes[1], true);
       zTree.selectNode(childNodes[1]);
       var childNodes1 =  zTree.transformToArray(childNodes[1]);
       zTree.checkNode(childNodes1[1], true, true);
       firstAsyncSuccessFlag = 1;
      } catch (err) {
       holly.showError("数据异常", err);
      }
     }else{
      alert(111);
     }
     }*/
   //初始化树
   zTree = $.fn.zTree.init($("#busTree"), setting);
   //异步刷新
   zTree.reAsyncChildNodes(null, "refresh");
时间: 2024-10-18 16:15:20

Jquery结合Ztree生成树的相关文章

ztreeDeptSelect 基于jquery和ztree的部门选择插件

插件介绍 首先我们来看插件的功能演示(效果): 插件准备好后.前台只需编写html: <input type="text" class="deptName" /> 然后在javascript中渲染插件(代码使用jQuery写法): $(".deptName").ztreeDeptSelect(); 插件即渲染完成. 此插件已发布至github,源码地址: https://github.com/harveyhang/ztreeDeptS

jQuery的zTree插件(待补充)

写在前面 jQuery的 zTree插件 关键代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@include file="/context/mytags.jsp" %> <!DOCTYPE html > <html> <head>

jQuery插件--zTree中点击节点实现页面跳转时弹出两个页面的问题

这是第一次使用zTree,所以在使用之前我要先写一个demo来学习一下.我们要注意的是,zTree是一个jQuery插件,所以我们在导入zTree的js文件之前要先导入jQuery的js文件. 我们先下载zTree,点击我跳转到一个网站进行下载 代码直接贴出来 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link

项目中jquery插件ztree使用记录

最近公司要求做一个关于后台的管理系统.在这个mvvm模式横行的年代,虽然这里用jquery做项目可能有点不符合时代的潮流,但是管他呢,能做出来先在说呗(公司以后要改用angular或者vue来统一前端的制作方式),个人觉得jquery还挺好用的.废话这里就不多叙述了.下面就先来一张完成后的图片展示一下ztree可以完成的功能. 额····这边弹出层的阴影是录制软件的问题(这边的前端插件用的是layui,想用的小伙伴可以自行百度layui,顺便一提,我这里用的版本是layui 1.0的,现在lay

jquery和zTree 树结构的测试demo

js代码:   <link type="text/css" rel="stylesheet" href="../../../plugin/zTree/css/zTreeStyle/zTreeStyle.css" /> <script src="../../../js/jquery-1.9.1.min.js"></script> <script src="../../../pl

jquery和zTree 树结构的测试demo 2

js代码: $(function(){ initTree("dxTxl",CONST_URL.LOAD_DXTREE,"id","yhzid");//初始化短信通讯录 initTree("yjTxl",CONST_URL.LOAD_YJTREE,"id","yhzid");//初始化邮件通讯录 } //构建zTree function initTree(zTreeID,url,id,pi

无限树Jquery插件zTree的使用方法

其实Ztree官网已经有详细的API文档,一切以官网上的说明为准,我在此只是结合实践总结几条常用的ztree的功能特性. (ztree的语法结构是基于key-value的形式配置) 1:支持异步加载数据 语法配置: async: { enable: true, url:'abc.ashx', otherParam: { "request": "requestname" } } 简要说明: enable :设置 zTree 是否开启异步加载模式.  url:Ajax

jquery的ztree插件的使用(完成动态加载树型结构)

第一步:在left.jsp中 <script language="JavaScript" src="${pageContext.request.contextPath }/script/jquery-1.4.2.js"></script> <script language="JavaScript" src="${pageContext.request.contextPath }/script/jquery-

jQuery Ztree基本用法

1.首先在页面上有<ul/>标签 <ul id="tree" class="ztree"></ul> 2.定义ztree的配置参数 var setting = { //check属性放在data属性之后,复选框不起作用 check: { enable: true }, data: { simpleData: { enable: true }, } }; 3.获得ztree所要绑定的数据,可以使用静态数据也可以使用ajax获取的数据