写一个JSP页面, 包含CSS样式,具体要求:页面分为上中下三块, 1.第一块是新增行,删除行的按钮, 在下方列表的右边 2.第二块是个列表,居中,宽度占页面的一半 列表值初始化读取接口/query数据; 列表中包含标题名称为一,二,三,四,五,六共6列, 第一列的值为行选择框, 第二四六列的值为下拉选框,第三五列的值为数字填写框; 3.第三块是保存按钮,在上方列表的右边,用ajax调用后台接口/save保存
时间: 2023-09-13 09:06:24 浏览: 95
好的,这是一个比较具体的实现要求。我可以给你一个简单的示例代码,帮助你理解如何实现这个 JSP 页面。
首先是 HTML 代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>三块式页面</title>
<style>
/* 样式代码 */
.container {
display: flex;
flex-direction: column;
height: 100%;
}
.header, .footer {
height: 50px;
background-color: #ccc;
display: flex;
justify-content: flex-end;
align-items: center;
padding: 0 20px;
}
.content {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
}
.list {
border: 1px solid #ccc;
width: 50%;
padding: 20px;
box-sizing: border-box;
}
.list table {
width: 100%;
}
.list th, .list td {
padding: 10px;
text-align: center;
}
.list th {
background-color: #eee;
}
.list td select, .list td input {
width: 100%;
box-sizing: border-box;
}
.list td:first-child {
text-align: center;
}
.button {
padding: 10px 20px;
background-color: #2196F3;
color: #fff;
border-radius: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="button">新增行</div>
<div class="button">删除行</div>
</div>
<div class="content">
<div class="list">
<table>
<tr>
<th>一</th>
<th>二</th>
<th>三</th>
<th>四</th>
<th>五</th>
<th>六</th>
</tr>
<tr>
<td><input type="checkbox"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
<td><input type="number"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
<td><input type="number"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
<td><input type="number"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
<td><input type="number"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
<td><input type="number"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
<td><input type="number"></td>
<td><select><option>选项1</option><option>选项2</option></select></td>
</tr>
</table>
</div>
</div>
<div class="footer">
<div class="button">保存</div>
</div>
</div>
</body>
</html>
```
这是一个比较简单的 HTML 页面,包含了三个部分:头部、内容和底部。其中内容部分又分为一个列表部分,样式代码中加了注释,你可以通过注释了解每个部分的具体实现细节。
接下来是 JS 代码:
```javascript
// 保存按钮点击事件
document.querySelector('.footer .button').addEventListener('click', function() {
// 获取列表中的数据
var data = [];
var rows = document.querySelectorAll('.list table tr');
for (var i = 1; i < rows.length; i++) {
var row = rows[i];
var checkbox = row.querySelector('input[type="checkbox"]');
var selects = row.querySelectorAll('select');
var inputs = row.querySelectorAll('input[type="number"]');
var rowData = {
checked: checkbox.checked,
select1: selects[0].value,
input1: inputs[0].value,
select2: selects[1].value,
input2: inputs[1].value,
select3: selects[2].value
};
data.push(rowData);
}
// 发送 AJAX 请求保存数据
var xhr = new XMLHttpRequest();
xhr.open('POST', '/save');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
alert('保存成功!');
}
};
xhr.send(JSON.stringify(data));
});
```
这段代码中,我们为保存按钮添加了一个点击事件,当点击保存按钮时,会获取列表中的数据,并通过 AJAX 请求将数据发送给后台保存。这里使用了原生的 XMLHttpRequest 对象发送 AJAX 请求,你也可以使用 jQuery 或其他框架来发送请求。
以上就是一个简单的实现示例,你可以根据自己的具体需求进行修改和扩展。
阅读全文