一级标题
layui呈现树形:
var temp;
var arrSwjgDm = [];
var treeData;
$.post('/dagdgl/****/*****', function (res) {
if(res.rtnCode == '200'){
temp = res.data.array;
arrSwjgDm.push(res.data.swjgDm);
treeData = layui.treeTable.pidToChildren(temp, 'id', 'pid');
inst = tree.render({
elem: '#organizationTree',
onlyIconControl: false,
data: treeData,
id:'treeId',
click: function (obj) {
selObj = obj;
$('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click');
$(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click');
swjgDmSelected = obj.data.id;
sum = treeData[0].id;
}
});
}else {
layer.msg("树初始化失败!", {
icon: 2});
}
});
单击树节点触发事件回调:
$(document).on("click",".layui-tree-main",function(){
var swjgDm = $(this).parent("div").parent("div").find("data-id").prevObject[0].dataset.id;
if(arrSwjgDm.indexOf(swjgDm) == -1){
var arr = [];
$.ajax({
type: "POST",
url: '/dagdgl/zzdarkgl/querySwjgTreeChilds',
async: false,
data: {
swjgDm: swjgDm
},
success: function (res) {
if (res.rtnCode == '200') {
arrSwjgDm.push(swjgDm);
for(var i = 0; i < temp.length; i++){
if(arrSwjgDm.indexOf(temp[i].id) != -1){
temp[i].spread = true;
}
}
temp = temp.concat(res.data)
treeData = layui.treeTable.pidToChildren(temp, 'id', 'pid');
tree.reload('treeId',{
data: treeData });
}
}
});
}
});
数据格式:
(注:数据为乱写,只看格式就好)
temp = [
{
id: '12456968',
name: 'name1',
pid: '1236485455' //父节点
},
{
id: '12456984668',
name: 'name2',
pid: '65465451456'
},
{
id: '12456984668',
name: 'name2',
pid: '65465451456'
}
];
treeData = [
{
id: '12456968',
name: 'name1',
pid: '1236485455' , //父节点
spread: true,
children:[
{
id: '12456984668',
name: 'name2',
pid: '65465451456'
}
]
}
]
知识点讲解:
1、给这个<div>添加点击事件(根据class添加点击事件)
$(document).on("click",".layui-tree-main",function(){
});
2、获取本<div>的父元素(父元素的父元素中的data-id属性是我们要的id)
$(this).parent("div").parent("div").find("data-id").prevObject[0].dataset.id;
3、layui中自带方法pidToChildren(),文件为treeTable.js
layui.treeTable.pidToChildren(temp, 'id', 'pid');
4、两个数组合并(不去重)
arr1.concat(arr2)