java动态生成树_ztree实现左边动态生成树右边为内容详情功能

本文介绍了如何使用zTree插件在Java应用中创建动态树形结构,并实现点击树节点时,右侧显示相应内容详情。内容包括zTree的基本特性、前端代码实现、Ajax交互以及节点的删除功能。
摘要由CSDN通过智能技术生成

zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件,兼容 IE、FireFox、Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动、编辑、删除 支持任意更换皮肤 / 个性化图标(依靠css) 。

页面原型图:

6be41a5f420fffe086644556dc8f2da2.png

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

前端代码实现:

引入css文档:

" />

" />

" />

引入js文件:

">

">

">

">

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

js 部分:

设置树节点

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);

}

});

}

}

删除事件:

597bcda6fe4d1c51521fe125d90fbd98.png

// 删除节点事件

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();

}

}

});

}

}

总结

以上所述是小编给大家介绍的ztree实现左边动态生成树右边为内容详情功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值