1. 程式人生 > >easyui與ztree結合實戰例項

easyui與ztree結合實戰例項

jQuery EasyUI是一組基於jQuery的UI外掛集合,而jQuery EasyUI的目標就是幫助web開發者更輕鬆的打造出功能豐富並且美觀的UI介面。開發者不需要編寫複雜的javascript,也不需要對css樣式有深入的瞭解,開發者需要了解的只有一些簡單的html標籤。但功能相對沒extjs強大,但頁面也是相當好看的。一些功能也足夠開發者使用,相對於extjs更輕量。               jQuery EasyUI為我們提供了大多數UI控制元件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。 好了,這裡也不做太多解釋說明,直接上程式碼提供大家參考學習

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ztree</title>
<!--引入easyui樣式  -->
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/js/easyui/themes/default/easyui.css">
<!--引入easyui圖示樣式  -->
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/js/easyui/themes/icon.css">
<!--引入jquery -->
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<!--引入jquery easyui  -->
<script type="text/javascript" src="${pageContext.request.contextPath }/js/easyui/jquery.easyui.min.js"></script>
<!--引入ztree樣式與檔案  -->
<link rel="stylesheet" href="${pageContext.request.contextPath }/js/ztree/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="${pageContext.request.contextPath }/js/ztree/jquery.ztree.all-3.5.js"></script>

</head>
<body class="easyui-layout">
	<!-- 使用div元素描述每個區域 -->
	<div title="中國政府管理系統" style="height: 100px" data-options="region:'north'">北部區域</div>
	<div title="系統選單" style="width: 200px" data-options="region:'west'">
		<!-- 製作accordion摺疊面板 
			fit:true----自適應(填充父容器)
		-->
		<div class="easyui-accordion" data-options="fit:true">
			<!-- 使用子div表示每個面板 -->
			<div  title="面板一">
				<a id="but1" class="easyui-linkbutton">新增一個選項卡</a>
				<script type="text/javascript">
					$(function(){
						//頁面載入完成後,為上面的按鈕繫結事件
						$("#but1").click(function(){
							//判斷“系統管理”選項卡是否存在
							var e = $("#mytabs").tabs("exists","系統管理");
							if(e){
								//已經存在,選中就可以
								$("#mytabs").tabs("select","系統管理");
							}else{
								//呼叫tabs物件的add方法動態新增一個選項卡
								$("#mytabs").tabs("add",{
									title:'系統管理',
									iconCls:'icon-edit',
									closable:true,
									content:'<iframe frameborder="0" height="100%" width="100%" src="https://www.baidu.com"></iframe>'
								});
							}
						});
					});
				</script>
			</div>
			
			<!-- 使用子div表示每個面板 -->
			<div data-options="iconCls:'icon-cut'" title="面板五">
				<a id="but2" class="easyui-linkbutton">新增一個選項卡</a>
				<script type="text/javascript">
					$(function(){
						//頁面載入完成後,為上面的按鈕繫結事件
						$("#but2").click(function(){
							//判斷“系統管理”選項卡是否存在
							var e = $("#mytabs").tabs("exists","系統管理");
							if(e){
								//已經存在,選中就可以
								$("#mytabs").tabs("select","系統管理");
							}else{
								//呼叫tabs物件的add方法動態新增一個選項卡
								$("#mytabs").tabs("add",{
									title:'系統管理',
									iconCls:'icon-edit',
									closable:true,
									/* content:'<iframe frameborder="0" height="100%" width="100%" src="https://www.taobao.com"></iframe>', */
									content:'<iframe frameborder="0" height="100%" width="100%" src="<%=request.getContextPath()%>/pages/admin/userlist.jsp"></iframe>'
								});
							}
						});
					});
				</script>
			</div>
			
			<div title="面板二">
				<!-- 展示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>
			</div>
			<div title="面板三">
				<!-- 展示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物件表示一個節點資料
							              {"id":"2","pId":"3","name":"節點二"},
							              {"id":"3","pId":"0","name":"節點三"}
						              ];
						//呼叫API初始化ztree
						$.fn.zTree.init($("#ztree2"), setting2, zNodes2);
						
					});
				</script>
			</div>
			<div title="面板四">
				<!-- 展示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/menu2.json";
						$.post(url,{},function(data){
							//呼叫API初始化ztree
							$.fn.zTree.init($("#ztree3"), setting3, data);
						},'json');
					});
				</script>
			</div>
		</div>
	</div>
	<div data-options="region:'center'">
		<!-- 製作一個tabs選項卡面板 -->
		<div id="mytabs" class="easyui-tabs" data-options="fit:true">
			<!-- 使用子div表示每個面板 -->
			<div data-options="closable:true" title="面板一">我是面板一</div>
			<div data-options="closable:true" title="面板二">2222</div>
			<div data-options="closable:true" title="面板三">3333</div>
		</div>
	</div>
	<div style="width: 100px" data-options="region:'east'">東部區域</div>
	<div style="height: 50px" data-options="region:'south'">南部區域</div>
</body>
</html>

最 後效果圖如下: