使用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 相关文章推荐
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 Javascript
javascript操作数组详解
Dec 17 Javascript
js判断某个方法是否存在实例代码
Jan 10 Javascript
jQuery+CSS3实现树叶飘落特效
Feb 01 Javascript
node.js集成百度UE编辑器
Feb 05 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
jquery if条件语句的写法
May 19 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
了解ESlint和其相关操作小结
May 21 Javascript
a标签调用js的方法总结
Sep 05 Javascript
原生js实现文件上传、下载、封装等实例方法
Jan 05 Javascript
javascript用defineProperty实现简单的双向绑定方法
Apr 03 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 正则表达式的学习探讨
2013/06/06 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
Yii 框架使用Forms操作详解
2020/05/18 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
npm全局环境变量配置详解
2020/12/15 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
八大排序算法的Python实现
2021/01/28 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
python numpy存取文件的方式
2020/04/01 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
我的求职计划书
2014/01/10 职场文书
军训考核自我鉴定
2014/02/13 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
Python中常见的导入方式总结
2021/05/06 Python