ztree實(shí)現(xiàn)左邊動(dòng)態(tài)生成樹(shù)右邊為內(nèi)容詳情功能
zTree 是利用 JQuery 的核心代碼,實(shí)現(xiàn)一套能完成大部分常用功能的 Tree 插件,兼容 IE、FireFox、Chrome 等瀏覽器 在一個(gè)頁(yè)面內(nèi)可同時(shí)生成多個(gè) Tree 實(shí)例 支持 JSON 數(shù)據(jù) 支持一次性靜態(tài)生成 和 Ajax 異步加載 兩種方式 支持多種事件響應(yīng)及反饋 支持 Tree 的節(jié)點(diǎn)移動(dòng)、編輯、刪除 支持任意更換皮膚 / 個(gè)性化圖標(biāo)(依靠css) 。
頁(yè)面原型圖:
功能需求:點(diǎn)擊左邊樹(shù)上的子節(jié)點(diǎn),像后臺(tái)發(fā)送請(qǐng)求,將請(qǐng)求到的信息展示在右邊的表單里面
前端代碼實(shí)現(xiàn):
引入css文檔:
<link rel="stylesheet" type="text/css" href="<c:url value=" rel="external nofollow" rel="external nofollow" rel="external nofollow" /js/global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap.css"/>" /> <link rel="stylesheet" type="text/css" href="<c:url value=" rel="external nofollow" rel="external nofollow" rel="external nofollow" /js/bower_components/ztree_v3/css/zTreeStyle/zTreeStyle.css"/>" /> <link rel="stylesheet" type="text/css" href="<c:url value=" rel="external nofollow" rel="external nofollow" rel="external nofollow" /css/global/ztree_custom.css"/>" />
引入js文件:
<script type="text/javascript" src="<c:url value="/js/bower_components/ztree_v3/js/jquery.ztree.core-3.5.min.js"/>"></script> <script type="text/javascript" src="<c:url value="/js/bower_components/ztree_v3/js/jquery.ztree.exedit-3.5.min.js"/>"></script> <script type="text/javascript" src="<c:url value="/js/bower_components/ztree_v3/js/jquery.ztree.excheck-3.5.min.js"/>"></script> <script src="<c:url value="/js/system/organ.js"/>"></script>
jsp 部分:HTML部分很簡(jiǎn)單,就是相當(dāng)于一個(gè)盛放樹(shù)的div
<ul id="organTree" class="ztree"style=" overflow :auto;"></ul>
js 部分:
設(shè)置樹(shù)節(jié)點(diǎn)
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 : "刪除節(jié)點(diǎn)", showRemoveBtn : $("#pdelete").val() == "delete" ? setRemoveBtn : false, showRenameBtn : false }, callback : { // onRightClick : onRightClick, // 單擊事件 onClick : zTreeOnClick, onNodeCreated : zTreeOnNodeCreated, beforeRemove : zTreeBeforeRemove, onRemove : zTreeOnRemove } };
初始化,判斷是否展開(kāi)節(jié)點(diǎn):
var zTreeObj; function initTree() { $.get(basePath + "/system/organ/getOrganTreeList", function(data) { zTreeObj = $.fn.zTree.init($("#organTree"), setting, data.returnData.organTree); zTreeObj.expandAll(false); }); } // 給生成的節(jié)點(diǎn)添加class屬性 // 控制節(jié)點(diǎn)是否顯示刪除圖標(biāo) function setRemoveBtn(treeId, treeNode) { return treeNode.pId != null; } // 給生成的節(jié)點(diǎn)添加class屬性 function zTreeOnNodeCreated(event, treeId, treeNode) { var str = treeNode.tId + "_span"; $("#" + str).addClass(treeNode.type); }
單擊事件,像后臺(tái)發(fā)起請(qǐng)求,請(qǐng)求右側(cè)的信息
// 單擊事件,向后臺(tái)發(fā)起請(qǐng)求 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("部門(mén)名稱"); $("#Partman").show(); $("#Email").hide(); $("#sorgan").html("上級(jí)部門(mén)"); $("#partaddress").html("部門(mén)地址"); $("#partman").html("部門(mén)負(fù)責(zé)人"); $("#parttel").html("手機(jī)"); 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("所屬部門(mén)"); $("#partaddress").html("職位"); $("#parttel").html("手機(jī)"); $.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); } }); } }
刪除事件:
// 刪除節(jié)點(diǎn)事件 function zTreeOnRemove(event, treeId, treeNode) { if (treeNode.type == "organ") { $.ajax({ url : basePath + "/system/organ/" + treeNode.id, type : "DELETE", success : function(data) { $("#confirmDialog").modal("hide"); // 點(diǎn)擊刪除按鈕,隱藏彈框 if (customGlobal.ajaxCallback(data)) { location.reload(); } } }); } else { $.ajax({ url : basePath + "/system/organ/deleteStaff/" + treeNode.id, type : "DELETE", success : function(data) { $("#confirmDialog").modal("hide"); // 點(diǎn)擊刪除按鈕,隱藏彈框 if (customGlobal.ajaxCallback(data)) { initTree(); } } }); } }
總結(jié)
以上所述是小編給大家介紹的ztree實(shí)現(xiàn)左邊動(dòng)態(tài)生成樹(shù)右邊為內(nèi)容詳情功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
從零開(kāi)始學(xué)習(xí)jQuery (一) 開(kāi)天辟地入門(mén)篇
本篇文章是入門(mén)第一篇, 主要是簡(jiǎn)單介紹jQuery, 通過(guò)簡(jiǎn)單示例指導(dǎo)大家如何編寫(xiě)jQuery代碼以及搭建開(kāi)發(fā)環(huán)境. 詳細(xì)講解了如何在Visual Studio中配合使用jQuery.2010-10-10深入理解bootstrap框架之入門(mén)準(zhǔn)備
Bootstrap是最流行的前端開(kāi)發(fā)框架。本文涉及到bootstrap的特性介紹,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-10-10jQuery判斷郵箱格式對(duì)錯(cuò)實(shí)例代碼講解
本文通過(guò)實(shí)例代碼給大家講解了基于jquery判斷郵箱格式對(duì)錯(cuò),非常實(shí)用,具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-04-04使用jquery局部刷新(jquery.load)從數(shù)據(jù)庫(kù)取出數(shù)據(jù)
jquery提供了很好的ajax交互,我這里用的是直接返回字符串,用的是jquery.load方法從數(shù)據(jù)庫(kù)取出的數(shù)據(jù)2014-01-01jQuery中ztree 點(diǎn)擊文本框彈出下拉框的實(shí)例代碼
這篇文章主要介紹了jQuery中ztree 點(diǎn)擊文本框彈出下拉框的實(shí)例代碼 的相關(guān)資料,需要的朋友可以參考下2017-02-02