用jQuery和ajax写一个部门管理的修改功能
时间: 2024-02-25 22:52:55 浏览: 112
以下是一个简单的部门管理页面示例,使用jQuery和AJAX实现部门信息修改功能,包括动态操作HTML元素、处理表单数据和发送AJAX请求:
HTML代码:
```
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>部门管理</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h1>部门管理</h1>
<div>
<h2>添加部门</h2>
<form>
<label>部门名称:</label>
<input type="text" name="name" required>
<button type="submit">添加</button>
</form>
</div>
<div>
<h2>部门列表</h2>
<ul id="dept-list">
<!-- 动态添加部门列表 -->
</ul>
</div>
<div id="edit-dept" style="display:none;">
<h2>修改部门</h2>
<form>
<input type="hidden" name="id" value="">
<label>部门名称:</label>
<input type="text" name="name" required>
<button type="submit">保存</button>
<button type="button" id="cancel-edit">取消</button>
</form>
</div>
<script src="dept.js"></script>
</body>
</html>
```
JavaScript代码(dept.js):
```
// 添加部门表单提交事件
$('form').submit(function(event) {
event.preventDefault(); // 阻止表单默认提交行为
var name = $('input[name="name"]').val(); // 获取部门名称
// 发送AJAX请求添加部门
$.ajax({
url: '/api/dept/add',
method: 'POST',
data: { name: name },
success: function(result) {
// 添加成功后动态更新部门列表
$('#dept-list').append('<li data-id="' + result.id + '">' + name + ' <a href="#" class="edit-dept">编辑</a></li>');
$('input[name="name"]').val(''); // 清空表单输入框
},
error: function(error) {
alert('添加部门失败:' + error.responseJSON.message);
}
});
});
// 点击编辑部门链接
$('#dept-list').on('click', '.edit-dept', function(event) {
event.preventDefault(); // 阻止链接默认跳转行为
var li = $(this).parent(); // 获取部门列表项
var id = li.attr('data-id'); // 获取部门ID
var name = li.text().trim(); // 获取部门名称
// 显示编辑部门表单
$('#edit-dept input[name="id"]').val(id);
$('#edit-dept input[name="name"]').val(name);
$('#edit-dept').show();
});
// 取消编辑部门
$('#cancel-edit').click(function(event) {
event.preventDefault(); // 阻止按钮默认提交行为
// 隐藏编辑部门表单
$('#edit-dept').hide();
});
// 修改部门表单提交事件
$('#edit-dept form').submit(function(event) {
event.preventDefault(); // 阻止表单默认提交行为
var id = $('input[name="id"]').val(); // 获取部门ID
var name = $('input[name="name"]').val(); // 获取部门名称
// 发送AJAX请求修改部门
$.ajax({
url: '/api/dept/update',
method: 'POST',
data: { id: id, name: name },
success: function(result) {
// 修改成功后动态更新部门列表
var li = $('#dept-list li[data-id="' + id + '"]');
li.text(name + ' ').append('<a href="#" class="edit-dept">编辑</a>');
$('#edit-dept').hide(); // 隐藏编辑部门表单
},
error: function(error) {
alert('修改部门失败:' + error.responseJSON.message);
}
});
});
// 页面加载完成后获取部门列表
$(document).ready(function() {
$.ajax({
url: '/api/dept/list',
method: 'GET',
success: function(result) {
// 动态添加部门列表
for (var i = 0; i < result.length; i++) {
$('#dept-list').append('<li data-id="' + result[i].id + '">' + result[i].name + ' <a href="#" class="edit-dept">编辑</a></li>');
}
},
error: function(error) {
alert('获取部门列表失败:' + error.responseJSON.message);
}
});
});
```
上述代码实现了以下功能:
1. 添加部门:用户在表单中输入部门名称并点击“添加”按钮,jQuery监听表单提交事件,获取表单数据并发送AJAX请求添加部门。添加成功后动态更新部门列表。
2. 编辑部门:用户点击部门列表中的“编辑”链接,jQuery获取部门ID和名称,显示修改部门表单。
3. 取消编辑:用户点击修改部门表单中的“取消”按钮,隐藏修改部门表单。
4. 修改部门:用户在修改部门表单中修改部门名称并点击“保存”按钮,jQuery监听表单提交事件,获取表单数据并发送AJAX请求修改部门。修改成功后动态更新部门列表。
阅读全文