004 ztree入门 - bos

使用标准json数据构造ztree

1.使用标准json构造ztree,children属性用于描述子节点,可以无限嵌套下去
2.name属性用于描述节点名称
3.缺点是结构很混乱,不易修改,代码阅读、维护困难
4.示例代码

<!-- 展示ztree效果 :使用标准json数据构造ztree-->
<ul id="ztree1" class="ztree"></ul>
<script type="text/javascript">
$(function(){
//页面加载完成后,执行这段代码----动态创建ztree
var setting = {};
//构造节点数据
var zNodes = [
{"name":"节点一","children":[
{"name":"节点一_1"},
{"name":"节点一_2"}]},//每个json对象表示一个节点数据
{"name":"节点二"},
{"name":"节点三"}];
//调用API初始化ztree
$.fn.zTree.init($("#ztree1"), setting, zNodes);
});
</script>

使用简单json数据构造ztree(重点)

1.要使用简单的json数据描述ztree结构,首先要在settings中开启设置,设置方式为
var setting2 = {
data: {
simpleData: {
enable: true//使用简单json数据构造ztree节点
}
}
};

2.开启后,每个节点可以使用属性"id"描述自身的id,使用属性"pId"描述父类的id,以此类描述树形结构
var zNodes2 = [
{"id":"1","pId":"2","name":"节点一"},//每个json对象表示一个节点数据,pId为父节点
{"id":"2","pId":"3","name":"节点二"},
{"id":"3","pId":"0","name":"节点三"}];
3.使用简单的json数据格式描述树形结构,易于修改,建议使用
4.以下是代码样例

<!-- 展示ztree效果 :使用简单json数据构造ztree-->
<ul id="ztree2" class="ztree"></ul>
<script type="text/javascript">
$(function(){
//页面加载完成后,执行这段代码----动态创建ztree
var setting2 = {
data: {
simpleData: {
enable: true//使用简单json数据构造ztree节点
}
}
};
//构造节点数据
var zNodes2 = [
{"id":"1","pId":"2","name":"节点一"},//每个json对象表示一个节点数据,pId为父节点
{"id":"2","pId":"3","name":"节点二"},
{"id":"3","pId":"0","name":"节点三"}];
//调用API初始化ztree
$.fn.zTree.init($("#ztree2"), setting2, zNodes2);
});
</script>

发送ajax请求获取json数据构造ztree

1.ztree的构造数据不在页面直接写死,而是通过ajax方法请求服务端获取json数据,构造页面
2.其中page属性值描述单机该菜单栏后想打开的页面
2.下面是测试样例:
<!-- 展示ztree效果 :发送ajax请求获取简单json数据构造ztree-->
<ul id="ztree3" class="ztree"></ul>
<script type="text/javascript">
$(function(){
//页面加载完成后,执行这段代码----动态创建ztree
var setting3 = {
data: {
simpleData: {
enable: true//使用简单json数据构造ztree节点
}
}
};

//发送ajax请求,获取json数据
//jQuery提供 的ajax方法:ajax、post、get、load、getJSON、getScript
var url = "${pageContext.request.contextPath}/json/menu.json";
$.post(url,{},function(data){
//调用API初始化ztree
$.fn.zTree.init($("#ztree3"), setting3, data);
},‘json‘);
});
</script>

3.下面是请求的menu.json

[
{ "id":"11", "pId":"0", "name":"基础数据"},
{ "id":"112", "pId":"11", "name":"取派员设置", "page":"page_base_staff.action"},
{ "id":"113", "pId":"11", "name":"区域设置","page":"page_base_region.action"},
{ "id":"114", "pId":"11", "name":"管理分区", "page":"page_base_subarea.action"},
{ "id":"115", "pId":"11", "name":"管理定区/调度排班","page":"page_base_decidedzone.action"},
{ "id":"12", "pId":"0", "name":"受理"},
{ "id":"121", "pId":"12", "name":"业务受理" ,"page":"page_qupai_noticebill_add.action"},
{ "id":"122", "pId":"12", "name":"工作单快速录入" ,"page":"page_qupai_quickworkorder.action"},
{ "id":"124", "pId":"12", "name":"工作单导入" ,"page":"page_qupai_workorderimport.action"},
{ "id":"13", "pId":"0", "name":"调度"},
{ "id":"131", "pId":"13", "name":"查台转单","page":""},
{ "id":"132", "pId":"13", "name":"人工调度","page":"page_qupai_diaodu.action"}
]

使用ztree提供的API为节点绑定事件

1.当希望单击左侧属性菜单栏时,执行一系列操作,可以使用ztree提供的回调函数
2.ztree的回调函数定义在setting的callback属性里面,在里面涉及很多事件的回调,如单机的回调可以这样编写:
//页面加载完成后,执行这段代码----动态创建ztree
var setting = {
callback: {
//为ztree节点绑定单击事件
onClick: function(event, treeId, treeNode){
//do something;
}
}
};
3.以下是单击左侧菜单项,按名称创建选项卡并请求指定的page页面

<!-- 展示ztree效果 :发送ajax请求获取简单json数据构造ztree-->
<ul id="ztree3" class="ztree"></ul>
<script type="text/javascript">
$(function(){
//页面加载完成后,执行这段代码----动态创建ztree
var setting3 = {
data: {
simpleData: {
enable: true//使用简单json数据构造ztree节点
}
},
callback: {
//为ztree节点绑定单击事件
onClick: function(event, treeId, treeNode){
if(treeNode.page != undefined){
//判断选项卡是否已经存在
var e = $("#mytabs").tabs("exists",treeNode.name);
if(e){
//已经存在,选中
$("#mytabs").tabs("select",treeNode.name);
}else{
//动态添加一个选项卡
$("#mytabs").tabs("add",{
title:treeNode.name,
closable:true,
content:‘<iframe frameborder="0" height="100%" width="100%" src="‘+treeNode.page+‘"></iframe>‘
});
}
}
}
}
};

//发送ajax请求,获取json数据
//jQuery提供 的ajax方法:ajax、post、get、load、getJSON、getScript
var url = "${pageContext.request.contextPath}/json/menu.json";
$.post(url,{},function(data){
//调用API初始化ztree
$.fn.zTree.init($("#ztree3"), setting3, data);
},‘json‘);
});
</script>

时间: 2024-10-05 04:22:45

004 ztree入门 - bos的相关文章

zTree入门使用

简单入门使用,熟悉其功能,没有与异步调用后台数据,用的是本地设置的数据. zTree的API:http://www.treejs.cn/v3/api.php 先看效果 目录结构 代码 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <link re

ztree入门应用(二)

时间不稳定,写东西都是断断续续的,今天来的早,继续写昨天没写完的ztree,昨天还差一个callback没写,其实这个才是最重要的.废话不多说,开始. callback callback: { onClick : showInfo, onRightClick: showMenu, beforeRemove : isRemove, beforeRename : isRename, onRemove : remove, onRename : rename, beforeCheck : zTreeBe

ztree入门应用总结

以前用到过ZTREE做树形展示,当时没有总结,今天简单总结一下,以后用的时候也好找,废话不多说,下面开始. 1.ztree简介 ztree是依靠jquery实现的一个树形插件,是一个开源的插件,兼容IE/FF/CHROM/OPERA这些常用的浏览器,支持JSON数据以及AJAX异步加载节点数据,提供多种事件回调函数,其实说了一大堆就是想说一句话,这是个比较好用的树形结构展示插件. 2.使用 2.0 项目环境 2.0.1 数据库表 2.1 引入的文件 2.1.1 JS文件 a. jquery-1.

026 WebService入门 - bos

一.什么是WebService 1.Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序, 可使用开放的XML标准来描述.发布.发现.协调和配置这些应用程序, 用于开发分布式的互操作的应用程序. 2.简单理解就是两个系统之间的远程调用技术 3.并且WebService之间的调用可以实现跨语言调用,因为调用使用的是http协议,传输的数据格式为xml 二.调用网络上的WebService服务 1.打开命令行 进入E:\\test,输入wsimport -s .

zTree的使用

zTree可以实现树形结构的关系.一般会出现在部门 的上下级关系,角色权限的分配等模块中... zTree格式要求:即Json的复杂格式 [{id:"..",pId:"..",name:"..",checked:"true/false"}] id:标识当前的id: pId:父节点的id: name:节点名称(就是在页面上可以看到的值): checked:是否勾选,默认是false. 1 <html xmlns="

使用zTree插件构建树形菜单

zTree下载:https://github.com/zTree/zTree_v3 目录: 就我看来,zTree较为实用的有以下几点: zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 支持 JSON 数据 支持静态 和 Ajax 异步加载节点数据 支持任意更换皮肤 / 自定义图标 支持极其灵活的 checkbox 或 radio 选择功能 提供多种事件响应回调 灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可

框架 day51 BOS项目练习(定区添加及查询,Hessian入门,基于hessian实现定区关联客户功能)

BOS项目笔记第5天 1.    定区添加功能 什么是定区?定区将客户信息.取派员.分区信息关联到一起,为自动分单提供数据. 1.1   在下拉框中展示取派员数据 第一步:修改combobox的url地址,访问StaffAction的listajax方法,查询取派员数据 第二步:在StaffAction中提供方法 /** * ajax查询未作废的员工 * @return */ public String findByWorking(){ List<Staff> list=staffServic

框架 day47 BOS项目练习1(项目概述,环境,页面[easyUI,Ztree],数据库PowerDesigner)

1.    项目概述 1.1   项目背景介绍 BOS(Bussiness Operating System)-----业务操作系统 本项目物流BOS项目分为基础设置.取派.中转.路由.报表部分 1.2   常见的软件项目类型 OA:办公自动化系统 CRM:客户关系管理系统 ERP:企业资源计划平台 CMS:内容管理系统 BBS:论坛系统 1.3   项目开发流程(瀑布模型) 1.  需求调研分析----需求规格说明书 2.  设计阶段(概要设计.详细设计)------数据库设计文档.原型 3.

JavaScript入门:004—JS注释的写法和基本运算符

JS的注释JS中加注释和平常写C#代码是差不多的.有//和/* */这两种.单行注释使用双斜杠例如, <script type="text/javascript"> // var number-1; // var index=2; </script> 多行注释使用/* 内容 */例如, <script type="text/javascript"> /* var number-1; var index=2; */ </scr