使用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 Onunload与Onbeforeunload使用小结
Dec 31 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
Jan 25 Javascript
node.js中Socket.IO的进阶使用技巧
Nov 04 Javascript
node.js使用require()函数加载模块
Nov 26 Javascript
jQuery中:radio选择器用法实例
Jan 03 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
Oct 09 Javascript
微信小程序中input标签详解及简单实例
May 18 Javascript
微信小程序多音频播放进度条问题
Aug 28 Javascript
vue 实现在函数中触发路由跳转的示例
Sep 01 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
Oct 12 Javascript
JavaScript原型链详解
Nov 07 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中echo,print_r与var_dump区别分析
2014/09/29 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
JS的replace方法详细介绍
2012/11/09 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
python中函数传参详解
2016/07/03 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
pymysql 开启调试模式的实现
2019/09/24 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
python 获取计算机的网卡信息
2021/02/18 Python
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
工商管理应届生求职信
2013/10/07 职场文书
安全检查验收制度
2014/01/12 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
门前三包责任书
2014/04/15 职场文书
三好学生事迹材料
2014/12/24 职场文书
音乐会主持人开场白
2015/05/28 职场文书
Vue router配置与使用分析讲解
2022/12/24 Vue.js