使用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 事件参考手册
Dec 24 Javascript
js中的值类型和引用类型小结 文字说明与实例
Dec 12 Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 Javascript
JavaScript中Function函数与Object对象的关系
Dec 17 Javascript
基于JavaScript实现的顺序查找算法示例
Apr 14 Javascript
详解用webpack2搭建angular2的项目
Jun 22 Javascript
vue+iview写个弹框的示例代码
Dec 05 Javascript
vue.js 实现输入框动态添加功能
Jun 25 Javascript
vue 获取视频时长的实例代码
Aug 20 Javascript
JS异步宏队列微队列原理详解
Sep 09 Javascript
javascript实现倒计时关闭广告
Feb 09 Javascript
JavaScript ES6的函数拓展
Jan 18 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
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
python查找目录下指定扩展名的文件实例
2015/04/01 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
Python中is与==判断的区别
2017/03/28 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
在Python中定义一个常量的方法
2018/11/10 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
GMP办公室主任岗位职责
2014/03/14 职场文书
网站客服岗位职责
2014/04/05 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
React 高阶组件HOC用法归纳
2021/06/13 Javascript
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
Python中的datetime包与time包包和模块详情
2022/02/28 Python
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技