使用layui实现树形结构的方法


Posted in Javascript onSeptember 20, 2019

树形结构在项目中使用是比较,下面我来介绍一种layui做树形结构的方法

树形结构需要获得的数据有父id,所以数据库需要有父id:

使用layui实现树形结构的方法

后台代码:

@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中直接按照格式修改数据就可以了

layui.use([ 'layer', 'element'], function() {
var layer = layui.layer;
var tNodes = [];
init();
function init() {
var heads = ["公司名称", "部门名称", "公司地址", "联系人", "联系电话"];
$.ajax({
type: "post",
url: basePath + "/company/lists",
data:{"token":token},
async: true,
success: function(data) {
if("暂无数据" == data) {
layer.msg('暂无数据请添加数据', {
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('抱歉,服务器刚刚打了个盹!', {
icon: 2,
time: 2000
});
}
});
}
});

以上这篇使用layui实现树形结构的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 加载时自动调整图片大小
May 28 Javascript
JS Replace()的高级使用方法介绍
Jun 29 Javascript
jquery滚动特效集锦
Jun 03 Javascript
angularjs学习笔记之简单介绍
Sep 26 Javascript
jQuery使用$.ajax提交表单完整实例
Dec 11 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
Apr 09 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
Apr 14 Javascript
JS数组splice操作实例分析
Oct 12 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
ES6新增的数组知识实例小结
May 23 Javascript
生成无限制的微信小程序码的示例代码
Sep 20 #Javascript
浅谈layui分页控件field参数接收对象的问题
Sep 20 #Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 #Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 #Javascript
Vue+iview+webpack ie浏览器兼容简单处理
Sep 20 #Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
Sep 20 #Javascript
微信用户访问小程序的登录过程详解
Sep 20 #Javascript
You might like
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
python 计算文件的md5值实例
2017/01/13 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
python编写弹球游戏的实现代码
2018/03/12 Python
Python3中列表list合并的四种方法
2019/04/19 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
企业办公室岗位职责
2014/03/12 职场文书
农民工讨薪标语
2014/06/26 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
答谢酒会主持词
2015/07/02 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL