使用zTree和json构建树节点

我们常常碰到需要构建树结构展示的情况,我推荐使用zTreeJSON

例如:

<?php
/**
 * *  使用zTree和json构建树节点
 * */
$arr = array(
0=>array(
    'id' => 1,
    'pid' => 0,
    'name' => 'china',
    'son' => array(
      array(
        'id' => 3,
        'pid' => 1,
        'name' => 'Beijing',
      ),
       array(
        'id' => 5,
        'pid' => 1,
        'name' => 'Nanjing',
        'son' => array(
          array(
              'id' => 7,
              'pid' => 1,
              'name' => 'Jiangning',
          )
        ),
      ),
    ),
  ),
1=>array(
    'id' => 2,
    'pid' => 0,
    'name' => 'USA',
    'son' => array(
      array(
        'id' => 4,
        'pid' => 2,
        'name' => 'Washington',
      ),
     array(
        'id' => 6,
        'pid' => 2,
        'name' => 'New York',
      ),
    ),
  ),
);
function json_string($arr){
	echo(str_replace("son","children",json_encode($arr)));//zTree中下级用children表示,json_encode只支持utf-8编码
}
json_string($arr);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd”>
<HTML>
 <HEAD>
  <TITLE> ZTREE DEMO </TITLE>
  <meta http-equiv="content-type" content="text/html; charset=gb2312">
  <link rel="stylesheet" href="../css/zTreeStyle/zTreeStyle.css" type="text/css">
  <script type="text/javascript" src="../js/jquery-1.11.1.min.js"></script>
  <script type="text/javascript" src="../js/jquery.ztree.all-3.5.min.js"></script>
  <script type="text/javascript">
      function zTreeInit() {
          var zTreeObj;
          var setting = {};
          var zNodes = eval(<?php json_string($arr) ?> );
          zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
      }
      $(document).ready(function () {
          zTreeInit();
      });
  </script>
 </HEAD>
<BODY>
<div>
   <ul id="treeDemo" class="ztree"></ul>
</div>
</BODY>
</HTML>

输出效果如下:

时间: 2024-10-04 06:36:29

使用zTree和json构建树节点的相关文章

jquery zTree 查找所有的叶子节点

// 保存所有叶子节点 10 为初始化大小,并非数组上限 var arrayObj = new Array([10]); /* treeNode: 根节点 result: 用于保存叶子节点的数组 */ // 获取所有叶子节点 function getAllLeafNodes(treeNode, result) { if (treeNode.isParent) { var childrenNodes = treeNode.children; if (childrenNodes) { for (va

zTree实现删除树节点

生活中的单例 中国(China),位于东亚,是一个以华夏文明为主体.中华文化为基础,以汉族为主要民族的统一多民族国家,通用汉语.中国疆域内的各个民族统称为中华民族,龙是中华民族的象征.古老的中国凭借自身的发展依旧美丽的屹立于东方民族之林,闪耀着她动人的光彩,世界上只有一个中国,任何部分都是祖国不可分割的一部分,今天我们的设计模式就从伟大的祖国开始说起---单例模式. 详解单例模式 单例模式是什么?跟我们的祖国有着怎样的关系呢?首先我们来看一下单例,从"单例"字面意思上理解为-一个类只有

转:zTree树控件扩展篇:巧用zTree控件实现文本框输入关键词自动模糊查找zTree树节点实现模糊匹配下拉选择效果

是否可以借助于zTree实现文本框输入关键词自动模糊匹配zTree下拉树,然后选择下拉树内节点显示在文本框内且隐藏下拉树. 看到这个需求脑子里头大致已经想到了要如何实现这样一个需求,当时是限于时间问题所以没有动手处理.今天闲来无事琢磨了一下这个需求.我的解决思路如下所示: 1.监听文本框的onkeyup事件:实时传递其值到某个函数: 2.编写某个函数接收文本框的值通过zTree的模糊查找方法getNodesByParamFuzzy(key,value)获得: 3.将匹配到的节点列表结合重新赋值给

转:zTree树控件key配置之title:zTree树节点名称过长如何省略显示且鼠标移入节点上能够显示全称

当树节点的名称有些很长时,全部显示出来显得很拥挤的情况下,我们会想到用省略节点名称来代替,当鼠标移入节点时能够显示该节点的全称.这样我们应该如何做呢? 首先,我们要在树的节点内多增加一个属性用于设置该节点的全称,这里我们以title名称为例吧,示例代码如下所示: view sourceprint? 1.{ id:233, pId:23, name:"叶子节点233...",title:"叶子节点23333434343434"}, 2.{ id:234, pId:23

zTree变异篇:如何让同级树节点平铺而非垂直显示

昨天有一个zTree的使用者在实际的项目中有着这样一个特殊的需求,要求同级树节点能够水平显示,根据设定的宽度自动换行,效果图如下所示: 通过在浏览器调试模式下观察其同级节点的css为: li { display: list-item; text-align: -webkit-match-parent; } 这个display属性就注定了其节点都会像item一样垂直显示的.我们知道了这一点所以问题解决方案就出来了. 解决思路: 1.彻底修改zTree树所配备的zTreeStyle.css文件: 2

zTree取消树节点选中的背景色

点击树节点的时候是ztree给树加了个class:    curSelectedNode 所以最简单的清除树节点的背景色的方法是移除其有背景色的class: $(".curSelectedNode").removeClass("curSelectedNode"); 原文地址:https://www.cnblogs.com/qlqwjy/p/8386994.html

利用jstree插件轻松构建树应用

利用jstree插件轻松构建树应用 最近完成了项目中的一个树状应用,第一次接触了jstree这个插件,总的来说它的官方文档还是比较详细的,但是在使用过程中还是出现了一些问题,下面我就来谈谈这款插件的使用和心得. 首先项目需要构建一棵树,利用jstree插件我们先在页面上静态的把这棵树渲染出来,参照官方文档(http://www.jstree.com/),代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head&g

java构建树形节点优化

引言:java中构建树形节点时,数据量小的话,可以随便些 ,不影响,但是当数据量大了以后,一棵大大的树,要半天才出来,所以就想着优化一下. 树形节点数据构建: package me.zhengjie; import ch.qos.logback.classic.joran.action.RootLoggerAction; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; import lombok.Data;

zTree实现单独选中根节点中第一个节点

1.实现源码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href=&