easyui與ztree結合實戰例項
阿新 • • 發佈:2019-02-08
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>
最 後效果圖如下: