帮我写一个前端界面,需求:1.div1 持续时长+input标签 +button 搜索2 div2 动态显示div1搜索框下拉列表(需要复选框) ,当选择后自动隐藏,其数据来源为数据库类型为数组,3.div3 以表格展示选中的数据4.美化界面
时间: 2024-10-20 15:08:18 浏览: 12
创建一个前端界面,按照您的需求可以分为以下几个部分:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
.container {
display: flex;
}
#div1 {
width: 50%;
padding: 15px;
border: 1px solid #ccc;
}
#div2 {
width: 30%;
max-height: 300px;
overflow-y: auto;
border: 1px solid #ccc;
display: none;
}
#div3 {
width: 20%;
padding: 15px;
border: 1px solid #ccc;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
}
</style>
</head>
<body>
<div class="container">
<div id="div1">
<label for="duration">持续时间:</label>
<input type="number" id="duration" name="duration">
<button onclick="search()">搜索</button>
</div>
<div id="div2" id="selectList">
<!-- 这里将通过JavaScript动态填充 -->
</div>
<div id="div3">
<h2>选中数据</h2>
<table>
<thead>
<tr>
<th>列标题1</th>
<!-- 根据实际数据库字段添加更多列 -->
</tr>
</thead>
<tbody id="selectedData"></tbody>
</table>
</div>
</div>
<script>
// 假设 data 是从服务器获取到的数据数组
const data = [
/* 数据示例 */
];
function search() {
// 这里应该连接数据库并获取数据,这里仅做模拟
let selectedItems = []; // 假设选择了某些项
if (selectedItems.length > 0) {
document.getElementById("div2").style.display = "none";
populateTable(selectedItems);
} else {
alert("请选择一项");
}
}
function populateTable(items) {
const tableBody = document.getElementById("selectedData");
tableBody.innerHTML = ""; // 清空表体
items.forEach(item => {
const row = `<tr><td>${item.field1}</td> <!-- 根据字段填写 --> </tr>`;
tableBody.insertAdjacentHTML('beforeend', row);
});
}
</script>
</body>
</html>
```
在这个示例中,我已经创建了一个基本的HTML结构,并添加了对应的CSS样式和简单的JavaScript逻辑。请注意,您需要根据实际的数据库操作(例如使用Ajax或Fetch API)以及数据结构来完善`search()`函数和`populateTable()`函数。
阅读全文