使用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 21 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
jquery easyui使用心得
Jul 07 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
Dec 11 Javascript
javascript日期格式化方法小结
Dec 17 Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
Jul 05 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
JS实现可视化文件上传
Sep 08 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
Vue——前端生成二维码的示例
Dec 19 Vue.js
生成无限制的微信小程序码的示例代码
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 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
vue实现登录功能
2020/12/31 Vue.js
Python+django实现简单的文件上传
2016/08/17 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
谈谈Python中的while循环语句
2019/03/10 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
小型女装店的创业计划书
2014/01/09 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
工作决心书范文
2014/03/11 职场文书
ktv好的活动方案
2014/08/15 职场文书
面试通知邮件
2015/04/20 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL