使用layui實(shí)現(xiàn)樹形結(jié)構(gòu)的方法
樹形結(jié)構(gòu)在項(xiàng)目中使用是比較,下面我來介紹一種layui做樹形結(jié)構(gòu)的方法
樹形結(jié)構(gòu)需要獲得的數(shù)據(jù)有父id,所以數(shù)據(jù)庫需要有父id:
后臺代碼:
@RequestMapping(value = "/lists") public void getList( HttpServletResponse response) { List list = this.companyService.getList(); String[] exclude={"Groups"}; JsonUtils.printJsonStringFromArrayObjectWithExclude(response, list, exclude); } public List getList(){ ChangeDataSource.changeDataSource(DataSource.dataSource2); String hql=" from Company"; return this.baseDao.exeQueryHql(hql); }
html中,需要引入js包
<div id="main" class="layui-form"> <table id="treeMenu" class="layui-table" style="margin-top: 2px;"> <div style="clear:both;"></div> <tbody> </tbody> </table> </div> <script src="../layui/layui.js"></script> <script src="../js/jquery-1.7.2.js"></script> <script src="../js/jquery-ui.js"></script> <script src="../js/jquery.treetable.js"></script> <script src="../js/jquery.treetablebox.js"></script>
js中直接按照格式修改數(shù)據(jù)就可以了
layui.use([ 'layer', 'element'], function() { var layer = layui.layer; var tNodes = []; init(); function init() { var heads = ["公司名稱", "部門名稱", "公司地址", "聯(lián)系人", "聯(lián)系電話"]; $.ajax({ type: "post", url: basePath + "/company/lists", data:{"token":token}, async: true, success: function(data) { if("暫無數(shù)據(jù)" == data) { layer.msg('暫無數(shù)據(jù)請?zhí)砑訑?shù)據(jù)', { icon: 2, time: 1000 }); } else { data = eval("(" + data + ")"); var tNodes = '['; for(var obj in data) { var companyName = data[obj].companyName; var departmentName = data[obj].departmentName; var address = data[obj].address; var linkman; var contactNumber = data[obj].contactNumber; if(data[obj].linkman.length > 10) { linkman = data[obj].linkman.substring(0, 10) + "..."; } else { linkman = data[obj].linkman; if(linkman == "" || linkman == null || linkman == "undefined") { linkman = "暫無"; } } if(departmentName == "" || departmentName == null || departmentName == "undefined") { departmentName = "暫無"; } else { departmentName = data[obj].departmentName; } if(data[obj].companyId == "" || data[obj].companyId == null) { tNodes += '{ id: ' + data[obj].companyId + ', pId: ' + data[obj].company + ', name: "' + companyName + '", td: ["' + departmentName + '","' + address + '","' + linkman + '","' + contactNumber + '"] },' } else { tNodes += '{ id: ' + data[obj].companyId + ', pId: ' + data[obj].company + ', name: "' + companyName + '", td: ["' + departmentName + '","' + address + '","' + linkman + '","' + contactNumber + '"] },' } } tNodes += ']'; tNodes = tNodes.replace(",]", "]"); tNodes = tNodes.replace(/\s+/g, ""); tNodes = tNodes.replace(/<\/?.+?>/g, ""); tNodes = tNodes.replace(/[\r\n]/g, ""); $.TreeTable("treeMenu", heads, eval("(" + tNodes + ")")); $('#treeMenu').treetable('expandAll'); layui.use('form', function() { var form = layui.form; form.render(); form.render('select'); }); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { layer.msg('抱歉,服務(wù)器剛剛打了個盹!', { icon: 2, time: 2000 }); } }); } });
以上這篇使用layui實(shí)現(xiàn)樹形結(jié)構(gòu)的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JS實(shí)現(xiàn)從網(wǎng)頁頂部掉下彈出層效果的方法
這篇文章主要介紹了JS實(shí)現(xiàn)從網(wǎng)頁頂部掉下彈出層效果的方法,實(shí)例分析了javascript創(chuàng)建彈出窗口及窗口掉落與抖動效果實(shí)現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08JavaScript 中 avalon綁定屬性總結(jié)
avalon是前端MVVM框架,在js中經(jīng)常會用到。這篇文章主要介紹了JavaScript 中 avalon綁定屬性總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-10-10加載遠(yuǎn)程圖片時,經(jīng)常因?yàn)榫彺娑貌坏礁碌慕鉀Q方法(分享)
本篇文章是對加載遠(yuǎn)程圖片時,經(jīng)常因?yàn)榫彺娑貌坏礁碌慕鉀Q方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06JavaScript/Js腳本處理html元素的自定義屬性解析(親測兼容Firefox與IE)
這篇文章主要是對JavaScript/Js腳本處理html元素的自定義屬性解析(親測兼容Firefox與IE)進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11JavaScript加強(qiáng)之自定義callback示例
callback回調(diào)函數(shù)在本文以自定義的方式出現(xiàn),感興趣的朋友可以參考下,希望對大家有所幫助2013-09-09微信小程序開發(fā)之實(shí)現(xiàn)食堂點(diǎn)餐系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何通過微信小程序開發(fā)一個簡單的食堂點(diǎn)餐系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以和小編一起學(xué)習(xí)一下2023-01-01vue使用vue-quill-editor富文本編輯器且將圖片上傳到服務(wù)器的功能
這篇文章主要介紹了vue使用vue-quill-editor富文本編輯器且將圖片上傳到服務(wù)器的功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01JavaScript運(yùn)動框架 解決防抖動問題、懸浮對聯(lián)(二)
這篇文章主要為大家詳細(xì)介紹了JavaScript運(yùn)動框架的第二部分,解決防抖動問題、懸浮對聯(lián)問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05