写一个jQuery双向选择穿梭框 要求如下:1、通过鼠标单选或多选树形结构的子级数据然后点击按钮穿梭,按钮要在左右两边边框的中间垂直居中 2、加上左右两边穿梭框的边框 3、当点击按钮穿梭回左边框时数据还原回原来的父级树形结构里
时间: 2024-04-11 19:30:16 浏览: 116
下面是一个使用 jQuery 实现的双向选择穿梭框的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>双向选择穿梭框</title>
<style>
.container {
display: flex;
justify-content: center;
align-items: center;
}
.tree {
border: 1px solid #ccc;
width: 200px;
height: 300px;
overflow-y: auto;
}
.transfer {
display: flex;
align-items: center;
}
.transfer button {
margin: 10px;
}
.left, .right {
border: 1px solid #ccc;
width: 200px;
height: 300px;
overflow-y: auto;
}
</style>
</head>
<body>
<div class="container">
<div class="tree">
<ul>
<li>
<input type="checkbox" value="1"> Item 1
<ul>
<li><input type="checkbox" value="1.1"> Item 1.1</li>
<li><input type="checkbox" value="1.2"> Item 1.2</li>
<li><input type="checkbox" value="1.3"> Item 1.3</li>
</ul>
</li>
<li>
<input type="checkbox" value="2"> Item 2
<ul>
<li><input type="checkbox" value="2.1"> Item 2.1</li>
<li><input type="checkbox" value="2.2"> Item 2.2</li>
<li><input type="checkbox" value="2.3"> Item 2.3</li>
</ul>
</li>
<li>
<input type="checkbox" value="3"> Item 3
<ul>
<li><input type="checkbox" value="3.1"> Item 3.1</li>
<li><input type="checkbox" value="3.2"> Item 3.2</li>
<li><input type="checkbox" value="3.3"> Item 3.3</li>
</ul>
</li>
</ul>
</div>
<div class="transfer">
<button id="btnToRight">>></button>
<button id="btnToLeft"><<</button>
</div>
<div class="right"></div>
</div>
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function () {
// 点击按钮穿梭到右边框
$('#btnToRight').click(function () {
var $selectedItems = $('.tree input:checked').parent('li');
$selectedItems.appendTo('.right ul');
// 清空已选项的选中状态
$selectedItems.find('input[type="checkbox"]').prop('checked', false);
});
// 点击按钮穿梭回左边框
$('#btnToLeft').click(function () {
var $selectedItems = $('.right input:checked').parent('li');
$selectedItems.appendTo('.tree ul');
// 清空已选项的选中状态
$selectedItems.find('input[type="checkbox"]').prop('checked', false);
});
});
</script>
</body>
</html>
```
这段代码实现了通过鼠标单选或多选树形结构的子级数据,然后点击按钮进行穿梭。左右两边的边框使用了CSS样式进行设置。当点击按钮穿梭回左边框时,数据会还原回原来的父级树形结构里。
阅读全文