使用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 相关文章推荐
JavaScript的目的分析
Jan 05 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
Jun 23 Javascript
jquery json 实例代码
Dec 02 Javascript
JS实现可调整倒计时间代码分享
Aug 18 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
Aug 21 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
Koa 使用小技巧(小结)
Oct 22 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
详解为什么Vue中不要用index作为key(diff算法)
Apr 04 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 mcrypt可逆加密算法分析
2011/07/19 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
JavaScript 基础问答三
2008/12/03 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
Vue面试题及Vue知识点整理
2018/10/07 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
Django中几种重定向方法
2015/04/28 Python
python使用nntp读取新闻组内容的方法
2015/05/08 Python
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python画图常规设置方式
2020/03/05 Python
python中random模块详解
2021/03/01 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL