jQuery實現(xiàn)樹形員工信息表
更新時間:2022年05月06日 10:22:43 作者:南初?
這篇文章主要為大家詳細介紹了jQuery實現(xiàn)樹形員工信息表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了jQuery實現(xiàn)樹形員工信息表的具體代碼,供大家參考,具體內(nèi)容如下
一、效果圖
二、核心代碼
var list = [ ? ?{ ? ? ? ?name: "技術部", ? ? ? ?child: [ ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "用戶一" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "用戶二" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "用戶三" ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ] ? ? ? ? }, ? ? ? ? { ? ? ? ? ? ? name: "人事部", ? ? ? ? ? ? child: [ ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "人事一" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "人事二" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "人事三" ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ] ? ? ? ? }, ? ? ? ? { ? ? ? ? ? ? name: "財務部", ? ? ? ? ? ? child: [ ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "財務一" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "財務二" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "財務三" ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ] ? ? ? ? }, ? ? ? ? { ? ? ? ? ? ? name: "項目部", ? ? ? ? ? ? child: [ ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "項目一" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "項目二" ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? name: "項目三" ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ] ? ? ? ? } ? ? ]; ? ? $(function(){ ? ? ? ? list.forEach(function(item,index){ ? ? ? ? ? ? var li=$("<li class='plist' data-p='"+index+"'><span class='icon icon_close'></span><span class='icon_tree'></span><span>"+item.name+"</span></li>"); ? ? ? ? ? ? li.append(setchild(item.child)); ? ? ? ? ? ? $(".treemenu").append(li); ? ? ? ? }) ? ? ? ? function setchild(child){ ? ? ? ? ? ? var str="<ul class='c_menu'>"; ? ? ? ? ? ? for(var i=0;i<child.length;i++){ ? ? ? ? ? ? ? ? str+="<li><span class='line'></span><span class='icon_check'></span><span class='cname'>"+child[i].name+"</span></li>" ? ? ? ? ? ? } ? ? ? ? ? ? str+="</ul>"; ? ? ? ? ? ? return str; ? ? ? ? } ? ? ? ? $(".icon").each(function(pindex){ ? ? ? ? ? ? $(this).click(function(){ ? ? ? ? ? ? ? ? $(".c_menu").eq(pindex).slideToggle(); ? ? ? ? ? ? }); ? ? ? ? }); ? ? ? ? $(".icon_check").each(function(chindex){ ? ? ? ? ? ? $(this).click(function(){ ? ? ? ? ? ? ? ? //點擊時添加或移除選中符號 ? ? ? ? ? ? ? ? $(this).toggleClass("icon_check_ck"); ? ? ? ? ? ? ? ? //定義變量是否被選中 ? ? ? ? ? ? ? ? var ishas=$(this).hasClass("icon_check_ck"); ? ? ? ? ? ? ? ? //查找外層父元素對應的索引 ? ? ? ? ? ? ? ? var parentIndex=$(this).parents(".plist").attr('data-p'); ? ? ? ? ? ? ? ? //自身索引 ? ? ? ? ? ? ? ? var childIndex=chindex; ? ? ? ? ? ? ? ? //如果被選中 ? ? ? ? ? ? ? ? if(ishas){ ? ? ? ? ? ? ? ? ? ? //查找同胞兄弟元素cname的文本值 ? ? ? ? ? ? ? ? ? ? var txt=$(this).siblings(".cname").text(); ? ? ? ? ? ? ? ? ? ? var app=$("<span class='cklist' data-p="+parentIndex+" data-c="+childIndex+">"+txt+"</span>"); ? ? ? ? ? ? ? ? ? ? $(".ck").append(app); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? else{ ? ? ? ? ? ? ? ? ? ? $(".cklist").each(function(index){ ? ? ? ? ? ? ? ? ? ? ? ? var pindex=$(this).attr("data-p"); ? ? ? ? ? ? ? ? ? ? ? ? var cindex=$(this).attr("data-c"); ? ? ? ? ? ? ? ? ? ? ? ? if(pindex==parentIndex&&cindex==childIndex){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? $(this).remove(); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? }); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? }); ? ? ? ? }); ? ? ? ? //點擊按鈕事件 ? ? ? ? $(".btn").click(function(){ ? ? ? ? ? ? var txt=$(".ipt").val(); ? ? ? ? ? ? if(txt){ ? ? ? ? ? ? ? ? //遍歷list ? ? ? ? ? ? ? ? list.forEach(function(item,index){ ? ? ? ? ? ? ? ? ? ? item.child.map(function(it,id){ ? ? ? ? ? ? ? ? ? ? ? ? if(txt==it.name){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? $(".c_menu").eq(index).slideToggle().find(".cname").eq(id).addClass("red"); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? }); ? ? ? ? ? ? ? ? }); ? ? ? ? ? ? } ? ? ? ? ? ? else{ ? ? ? ? ? ? ? ? $(".c_menu").slideUp(); ? ? ? ? ? ? ? ? $(".cname").removeClass("red"); ? ? ? ? ? ? } ? ? ? ? }) })?
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關文章
jQuery內(nèi)置的AJAX功能和JSON的使用實例
通過jQuery內(nèi)置的AJAX功能,訪問后臺獲得JSON格式的數(shù)據(jù),然后通過jQuer把數(shù)據(jù)直接在頁面上顯示,需要的朋友可以參考下2014-07-07JQuery 操作Javascript對象和數(shù)組的工具函數(shù)小結
JQuery提供了很多實用的工具函數(shù)。這些函數(shù)主要分為兩類,操作集合數(shù)組的函數(shù)和非集合數(shù)組函數(shù)。2010-01-01jquery ui 1.7 ui.tabs 動態(tài)添加與關閉(按鈕關閉+雙擊關閉)
jquery ui 1.7 ui.tabs 動態(tài)添加與關閉(按鈕關閉+雙擊關閉)實現(xiàn)代碼,需要的朋友可以參考下。2010-04-04Jquery 數(shù)據(jù)選擇插件Pickerbox使用介紹
目前市面上很少見或幾乎沒有這數(shù)據(jù)(對象)選擇插件.比如,點擊input , select 元素時彈出div(窗口),載入數(shù)據(jù)讓用戶選擇數(shù)據(jù),選擇后在填充回對應的元素.2012-08-08