我是一名java后端开发人员,不太会前台工作,现在我有一个返回的两级树,希望你能帮我写一下前端界面;要求如下,创建两棵树,左边的一棵树加载返回的数据值,要求可以多选,选中之后可以增加左边的根节点以及子节点到右边的树中
时间: 2024-02-27 09:55:47 浏览: 68
好的,我可以给你提供一个简单的前端示例代码,来实现你所描述的需求。这个示例代码中,我使用了 jQuery 和 zTree 插件来创建两棵树,并在左边的树中加载返回的数据值。在右边的树中,我使用了一个按钮来实现增加根节点和子节点的功能。
以下是示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>树形控件示例</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/zTree.v3.5.37/css/zTreeStyle/zTreeStyle.min.css" />
</head>
<body>
<div>
<h2>左边的树</h2>
<ul id="tree1" class="ztree"></ul>
</div>
<div>
<h2>右边的树</h2>
<ul id="tree2" class="ztree"></ul>
<button id="addNode">增加节点</button>
</div>
<script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/zTree.v3.5.37/js/jquery.ztree.all.min.js"></script>
<script>
$(function () {
// 初始化左边的树
var setting1 = {
check: {
enable: true,
chkboxType: { "Y": "ps", "N": "ps" }
},
data: {
key: {
name: "text",
children: "nodes"
}
}
};
var zNodes1 = [
{id: 1, text: "节点1", nodes: [
{id: 11, text: "子节点1-1"},
{id: 12, text: "子节点1-2"}
]},
{id: 2, text: "节点2", nodes: [
{id: 21, text: "子节点2-1"},
{id: 22, text: "子节点2-2"}
]}
];
$.fn.zTree.init($("#tree1"), setting1, zNodes1);
// 初始化右边的树
var setting2 = {
data: {
key: {
name: "text",
children: "nodes"
}
}
};
var zNodes2 = [];
$.fn.zTree.init($("#tree2"), setting2, zNodes2);
// 绑定按钮点击事件
$("#addNode").click(function () {
// 获取左边树的选中节点
var treeObj1 = $.fn.zTree.getZTreeObj("tree1");
var selectedNodes1 = treeObj1.getCheckedNodes(true);
// 将选中节点添加到右边的树中
var treeObj2 = $.fn.zTree.getZTreeObj("tree2");
for (var i = 0; i < selectedNodes1.length; i++) {
var node = selectedNodes1[i];
treeObj2.addNodes(null, {
id: node.id,
text: node.text,
nodes: null
});
}
});
});
</script>
</body>
</html>
```
在上面的示例代码中,我先初始化了左边的树,并在右边的树中添加了一个按钮。当点击按钮时,我会获取左边树的选中节点,并将选中节点添加到右边的树中。
希望这个示例代码可以帮助到你。如果你有任何问题,请随时提出。
阅读全文