使用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 设计模式 安全沙箱模式
Sep 24 Javascript
js中关于String对象的replace使用详解
May 24 Javascript
固定背景实现的背景滚动特效示例分享
May 19 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
浅谈node.js中async异步编程
Oct 22 Javascript
jquery采用oop模式class类的使用示例
Jan 22 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
浅谈Vue.js
Mar 02 Javascript
JavaScript注册时密码强度校验代码
Jun 30 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
Nov 18 jQuery
生成无限制的微信小程序码的示例代码
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
第九节 绑定 [9]
2006/10/09 PHP
PHP开发文件系统实例讲解
2006/10/09 PHP
php 结果集的分页实现代码
2009/03/10 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
用Python给文本创立向量空间模型的教程
2015/04/23 Python
Python迭代和迭代器详解
2016/11/10 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
EntityManager都有哪些方法
2013/11/01 面试题
乡镇交通安全实施方案
2014/03/29 职场文书
计划生育证明书写要求
2014/09/17 职场文书
工程项目合作意向书
2015/05/08 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers