1.页面中准备树的div

<div class="user_left_tree_info">
<div class="user_left_tree_info_title">部门</div>
<div class="hr"></div>
<div class="ztree" id="treeDemo"></div>
</div>

2.页面加载时候请求树:

searchUnitTree();
/**
* 请求树信息
*/
function searchUnitTree(){
$.ajax({
type : "post",
target : "#treeDemo",
dataType : "json",
url : "searchTreeAction2.action",
success : getTree
});
} /**
* 生成树
*/
function getTree(treeList2){
var treeList3 = eval("(" + treeList2 + ")");
var setting = {
data : {
simpleData : {
enable : true,
idKey: "unitId",
pIdKey: "upUnitId",
rootPId : "10",
},
key : {
name : "unitName",
}
},
callback : {
onClick : onClick
}
};
var zNodes = treeList3; //添加 树节点的 点击事件;
var log, className = "dark";
function onClick(event, treeId, treeNode, clickFlag) {
clickOnTree(event, treeId, treeNode, clickFlag);
}
$.fn.zTree.init($("#treeDemo"), setting, zNodes); var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
treeObj.expandAll(true);
} /**
* 点击树节点的同时,将该部门信息对应的部门编号,部门名称,上级部门编号,上级部门名称保存下来
*/
function clickOnTree(event, treeId, treeNode, clickFlag){
//得到该节点的部门编号和部门名字
document.getElementById("bt_unitId").value = treeNode.unitId;
document.getElementById("bt_unitName").value = treeNode.unitName;
/*alert(treeNode.unitId);
alert(treeNode.unitName);*/
if (treeNode.unitId == "10") {
//如果本节点是根节点,那么就不能执行更新和删除操作
$("#unit_change,#unit_delete").attr("disabled","disabled");
} else {
//如果本节点不是根节点,就可以执行更新和删除操作
$("#unit_change,#unit_delete").removeAttr("disabled");
//父节点
var fatherNode=treeNode.getParentNode();
/*alert(fatherNode.unitId);
alert(fatherNode.unitName);*/
//得到父节点的部门编号和部门名称
document.getElementById("bt_upUnitId").value = fatherNode.unitId;
document.getElementById("bt_upUnitName").value = fatherNode.unitName;
}
searchUnit();
} /**
* 点击一下树节点表格输出下级节点的部门信息
*/
function searchUnit() {
$.ajax({
type : "post",
dataType : "json",
url : "searchUnitByUpId.action",
data : {
upUnitId : $("#bt_unitId").val(),
},
success : showTable
});
}

3.后台传JSON串

public String  searchTree(){
try {
this.treeList =unitService.getUnitTree2();
} catch (SQLException e) {
e.printStackTrace();
}
JSONArray jsonArray = JSONArray.fromObject(treeList);
this.treeList2 = jsonArray.toString();
return SUCCESS;
}

结果:

[{"upUnitId":"","unitName":"中心","unitId":"10"},{"upUnitId":"10","unitName":"人才","unitId":"10001"},{"upUnitId":"10","unitName":"项部","unitId":"10002"},{"upUnitId":"10","unitName":"成果","unitId":"10003"},{"upUnitId":"10","unitName":"SS","unitId":"10009"}]

JSON数据生成树——(四)的更多相关文章

  1. (菜鸟要飞系列)四,基于Asp.Net MVC5的后台管理系统(zTree绑定Json数据生成树)

    上一次老师让我们用递归将中国城市镇县四级联动 显示在树上,那个时候就知道可以显示在zTree上,可是苦于对Json的不了解,对zTree的Api的不了解,一直没有做出来,只好将递归算法显示在了窗体上, ...

  2. spring mvc 返回json数据的四种方式

    一.返回ModelAndView,其中包含map集 /* * 返回ModelAndView类型的结果 * 检查用户名的合法性,如果用户已经存在,返回false,否则返回true(返回json数据,格式 ...

  3. MVC4中EasyUI Tree异步加载JSON数据生成树

      1,首先构造tree接受的格式化数据结构MODEL /// <summary> /// 定义EasyUI树的相关数据,方便控制器生成Json数据进行传递 /// </summar ...

  4. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...

  5. [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 五.如何做全站采集 场景模拟 接上一篇, JD SKU对应的店铺信息是异步加载 ...

  6. Python中xml、字典、json、类四种数据的转换

    最近学python,觉得python很强很大很强大,写一个学习随笔,当作留念注:xml.字典.json.类四种数据的转换,从左到右依次转换,即xml要转换为类时,先将xml转换为字典,再将字典转换为j ...

  7. Java创建和解析Json数据方法(四)——json-lib包的使用

    (四)json-lib包的使用         既然json-lib包比org.json包重量级,那么json-lib包肯定有很多org.json包没有的类和方法,这篇笔记简单记录json-lib包中 ...

  8. [Swift通天遁地]四、网络和线程-(5)解析网络请求数据:String(字符串)、Data(二进制数据)和JSON数据

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. 四、Delphi10.3读取JSON数据

    一.我们有一段JSON数据如下: { "五班": [ { "姓名": "张三", "成绩": 75.5 }, { &qu ...

随机推荐

  1. 如何规范 CSS 的命名和书写

    我开始学前端的时候也是对于规范问题头疼,后来看了网易的NEC规范,惊呼牛逼 NEC : 更好的CSS样式解决方案 只遵循横向顺序即可,先显示定位布局类属性,后盒模型等自身属性,最后是文本类及修饰类属性 ...

  2. Mininet 系列实验(四)

    实验内容 本次实验拓扑图: 在该环境下,h0 向 h1 发送数据包,由于在 mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0- ...

  3. Linux查看硬件信息命令

    一.查看服务器硬件信息 (1)查看服务器型号.序列号 [root@Master ~]# dmidecode|grep "System Information" -A9|egrep  ...

  4. 中行P1签名及验签

    分享中国银行快捷.NET P1签名和验签方法代码中ReturnValue为自定义类型请无视 #region 验证签名 /// <summary> /// 验证签名 /// </sum ...

  5. Weblogic CVE-2018-3191远程代码命令执行漏洞复现

      0x00 简介 北京时间10月17日,Oracle官方发布的10月关键补充更新CPU(重要补丁更新)中修复了一个高危的WebLogic远程代码执行漏洞(CVE-2018-3191).该漏洞允许未经 ...

  6. Libssh认证绕过CVE-2018-10933漏洞复现

    0x00 漏洞描述 libssh 0.6 及以上的版本,在服务端的代码实现中存在身份认证绕过漏洞.在向服务端认证的流程中,攻击者通过将 SSH2_MSG_USERAUTH_REQUEST 消息替换为  ...

  7. Java List /ArrayList 三种遍历方法

    java list三种遍历方法性能比较http://www.cnblogs.com/riskyer/p/3320357.html JAVA LIST 遍历http://blog.csdn.net/lo ...

  8. beego 定义一个存储变量的容器

    golang 这种语言相对于 php 有个好处是,不用每次请求都重复一些不必要的初始化操作,golang 进程开启之后,即使请求结束,相关的资源也会驻留在内存中. 所以我们可以把一些不需要重复初始化的 ...

  9. RF parameter

    There are primarily 3 features which can be tuned to improve the predictive power of the model : 说明: ...

  10. R读取excel文件

    2017.09.05 我一个下午的成果啊啊啊啊,看看失败 不禁感叹一声,失败的路真是多啊!!!! 一.安装xlsx包 下面具体讲一讲怎么弄的(太笨了,所以学得慢,需要一步一步的来) 用R读取excel ...