使用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 相关文章推荐
jquery animate图片模向滑动示例代码
Jan 26 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
Nov 17 Javascript
javascript数组去重小结
Mar 07 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
May 31 Javascript
利用Angularjs和Bootstrap前端开发案例实战
Aug 27 Javascript
JavaScript SHA-256加密算法详细代码
Oct 06 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
Mar 13 Javascript
详解Axios 如何取消已发送的请求
Oct 20 Javascript
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
JS获取动态添加元素的方法详解
Jul 31 Javascript
node删除、复制文件或文件夹示例代码
Aug 13 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 无限极分类
2008/03/27 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
JS 类型转换常见方法小结
2010/05/31 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Python Subprocess模块原理及实例
2019/08/26 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
python中字符串的编码与解码详析
2020/12/03 Python
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
优秀毕业生求职信范文
2014/01/02 职场文书
项目考察欢迎辞
2014/01/17 职场文书
中华魂演讲稿
2014/05/13 职场文书
商场租赁意向书
2014/07/30 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
人大代表选举标语
2014/10/07 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL