jquery实现批量删除
时间: 2023-08-12 15:17:49 浏览: 22
假设你的 HTML 代码如下:
```html
<table id="items">
<thead>
<tr>
<th>选择</th>
<th>名称</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="ids[]" value="1"></td>
<td>项目 1</td>
<td><button class="delete-btn" data-id="1">删除</button></td>
</tr>
<tr>
<td><input type="checkbox" name="ids[]" value="2"></td>
<td>项目 2</td>
<td><button class="delete-btn" data-id="2">删除</button></td>
</tr>
<tr>
<td><input type="checkbox" name="ids[]" value="3"></td>
<td>项目 3</td>
<td><button class="delete-btn" data-id="3">删除</button></td>
</tr>
</tbody>
</table>
<button id="batch-delete-btn">批量删除</button>
```
你可以使用以下 jQuery 代码来实现批量删除:
```javascript
$(function() {
// 单个删除
$('.delete-btn').click(function() {
var id = $(this).data('id');
if (confirm('确定要删除吗?')) {
// 发送 AJAX 请求删除数据
$.ajax({
url: '/path/to/delete',
type: 'POST',
data: {id: id},
success: function() {
// 删除行
$('tr[data-id="' + id + '"]').remove();
},
error: function() {
alert('删除失败!');
}
});
}
});
// 批量删除
$('#batch-delete-btn').click(function() {
var ids = [];
$('input[name="ids[]"]:checked').each(function() {
ids.push($(this).val());
});
if (ids.length == 0) {
alert('请选择要删除的项目!');
return;
}
if (confirm('确定要删除所选项目吗?')) {
// 发送 AJAX 请求删除数据
$.ajax({
url: '/path/to/batch/delete',
type: 'POST',
data: {ids: ids},
success: function() {
// 删除行
$.each(ids, function(index, id) {
$('tr[data-id="' + id + '"]').remove();
});
},
error: function() {
alert('删除失败!');
}
});
}
});
});
```
在单个删除中,我们为每个删除按钮添加了一个点击事件,当用户点击该按钮时,会弹出确认对话框,询问用户是否确定要删除。如果用户确认删除,我们会发送一个 AJAX 请求,将该行数据从服务器删除,然后在页面上删除该行。
在批量删除中,我们首先获取所有被选中的复选框的值,然后检查是否至少选中了一个项目。如果没有选中任何项目,我们会弹出警告消息。如果用户确认要删除所选项目,我们会将所有选中项目的 ID 发送到服务器,服务器会将这些项目从数据库中删除,然后在页面上删除这些行。
相关推荐






好的,我可以给你提供一个实现批量删除和前端页面的示例代码,供你参考。
1. SSM框架批量删除的实现
在SSM框架中,需要先在Controller层定义一个批量删除的请求接口,示例代码如下:
/**
* 批量删除
* @param ids 需要删除的ID数组
* @return 返回操作结果
*/
@RequestMapping(value = "/batchDelete", method = RequestMethod.POST)
@ResponseBody
public Result batchDelete(@RequestBody Integer[] ids) {
// TODO: 根据ids进行批量删除操作
return Result.success();
}
然后,在前端页面中需要定义一个批量删除的按钮,并且使用JavaScript/jQuery等技术获取需要删除的ID数组,发送POST请求到上述接口,示例代码如下:
<button id="batchDeleteBtn">批量删除</button>
<script>
$(function () {
$("#batchDeleteBtn").click(function () {
var ids = []; // 需要删除的ID数组
// TODO: 获取需要删除的ID数组
$.ajax({
type: "POST",
url: "/batchDelete",
data: JSON.stringify(ids),
contentType: "application/json",
success: function (result) {
if (result.code === 200) {
// TODO: 删除成功后的操作
} else {
// TODO: 删除失败后的操作
}
},
error: function () {
// TODO: 删除失败后的操作
}
});
});
});
</script>
2. SSM框架前端页面的实现
在SSM框架中,前端页面的实现一般使用JSP或者Thymeleaf等模板引擎,示例代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>批量删除示例</title>
</head>
<body>
编号
名称
操作
<c:forEach items="${list}" var="item">
${item.id}
${item.name}
编辑
删除
</c:forEach>
<button id="batchDeleteBtn">批量删除</button>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function () {
$("#batchDeleteBtn").click(function () {
var ids = []; // 需要删除的ID数组
$("input[name='id']:checked").each(function () {
ids.push($(this).val());
});
if (ids.length === 0) {
alert("请选择需要删除的数据");
return;
}
$.ajax({
type: "POST",
url: "/batchDelete",
data: JSON.stringify(ids),
contentType: "application/json",
success: function (result) {
if (result.code === 200) {
// TODO: 删除成功后的操作
} else {
// TODO: 删除失败后的操作
}
},
error: function () {
// TODO: 删除失败后的操作
}
});
});
});
</script>
</body>
</html>
以上就是一个简单的SSM框架实现批量删除和前端页面的示例代码,供你参考。希望能够帮到你。



<script> //反选 function changeCheck() { // 获取所有的复选框元素 var checkboxs = document.getElementsByTagName('input'); // 遍历所有复选框 for (var i = 0; i < checkboxs.length; i++) { // 如果当前元素是复选框,而且它的类型是checkbox if (checkboxs[i].type == 'checkbox') { // 判断当前复选框是否选中 if (checkboxs[i].checked) { // 如果选中,就取消选中 checkboxs[i].checked = false; } else { // 如果没有选中,就选中它 checkboxs[i].checked = true; } } } } $(function() { // 删除功能 $(".delete_item").click(function() { $(this).closest("tr").remove(); }); // 批量删除功能 $("#deleteAll").click(function() { $(".check_item:checked").each(function() { $(this).closest("tr").remove(); }); }); }); </script> </head> <body> <button type="checkbox" id="allsel" onclick="changeCheck(this)">反选</button> 用户ID 爱好 家庭住址 操作 <input type="checkbox" class="check_item"> 1 跑步 江苏省无锡市 <button class="delete_item">删除</button> <input type="checkbox" class="check_item"> 2 打球 江苏省南京市 <button class="delete_item">删除</button> <input type="checkbox" class="check_item"> 3 跳舞 安徽省合肥市 <button class="delete_item">删除</button> <button class="deleteAll">批量删除</button> 怎么可以批量删除和删除
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style type="text/css"> @import url("css/table.css"); </style> <title>学生信息</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> </head> <body> <button>批量删除</button> <label><input type="checkbox" /></label> 学号 姓名 专业 操作 <label><input type="checkbox" /></label> 9527 唐伯虎 国画 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 007 武松 体育 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 1024 诸葛亮 心理学 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 1010 刘义 计算机 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 6969 晨儿 桑蚕技术 <button>查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 666 章三 小龙虾烹饪 <button>查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 5520 里斯 天文 <button>查看</button><button>修改</button><button>删除</button> 尾页 下一页 上一页 首页 <script> 如何实现删除功能?
好的,首先我们需要引入layui框架和jQuery库,然后创建一个HTML页面和一个JavaScript文件来实现花类信息管理。
HTML页面结构如下:
html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>花类信息管理</title>
<script src="jquery-3.5.1.min.js"></script>
<script src="layui/layui.js"></script>
</head>
<body>
<script src="flower.js"></script>
</body>
</html>
接下来,我们在JavaScript文件中实现表格的渲染、分页、排序、全选和管理操作。代码如下:
javascript
layui.use(['table', 'form'], function(){
var table = layui.table;
var form = layui.form;
//渲染表格
table.render({
elem: '#flowerTable',
url: 'flower.json',
toolbar: '#toolbar',
cols: [[
{type: 'checkbox'},
{field: 'name', title: '花名', sort: true},
{field: 'price', title: '价格', sort: true},
{field: 'total', title: '总数量', sort: true},
{field: 'remaining', title: '剩余数量', sort: true},
{title: '管理', toolbar: '#barDemo'}
]],
page: true
});
//监听工具条
table.on('tool(flowerTable)', function(obj){
var data = obj.data;
if(obj.event === 'edit'){ //修改
layer.alert('修改花名:'+ data.name);
} else if(obj.event === 'del'){ //删除
layer.confirm('确定删除该行数据?', function(index){
obj.del();
layer.close(index);
});
}
});
//监听排序
table.on('sort(flowerTable)', function(obj){
console.log(obj.field); //当前排序的字段名
console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
});
//全选
form.on('checkbox(allChoose)', function(data){
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]');
child.each(function(index, item){
item.checked = data.elem.checked;
});
form.render('checkbox');
});
});
在代码中,我们使用了layui的table模块和form模块来实现表格的渲染、工具条的监听、排序、全选等功能。其中,我们通过url属性来指定表格的数据源,这里我们使用了一个名为flower.json的本地数据文件,可以根据实际情况进行修改。
最后,我们还需要在HTML页面中添加表格的工具条模板,代码如下:
html
<script type="text/html" id="toolbar">
<button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
<button class="layui-btn layui-btn-sm" lay-event="delete">删除</button>
</script>
<script type="text/html" id="barDemo">
修改
删除
</script>
这样,一个简单的花类信息管理界面就完成了。用户可以通过表格的工具条进行添加、删除操作,也可以通过表格的排序功能来对花类信息进行排序。同时,用户还可以通过全选功能批量进行管理操作。


<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style type="text/css"> @import url("css/table.css"); </style> <title>学生信息</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> </head> <body> <button>批量删除</button> <label><input type="checkbox" /></label> 学号 姓名 专业 操作 <label><input type="checkbox" /></label> 9527 唐伯虎 国画 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 007 武松 体育 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 1024 诸葛亮 心理学 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 1010 刘义 计算机 <button class="view">查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 6969 晨儿 桑蚕技术 <button>查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 666 章三 小龙虾烹饪 <button>查看</button><button>修改</button><button>删除</button> <label><input type="checkbox" /></label> 5520 里斯 天文 <button>查看</button><button>修改</button><button>删除</button> 尾页 下一页 上一页 首页 <script> 如何实现删除功能?

好的,首先我们需要引入layui框架和jQuery库,然后创建一个HTML页面和一个JavaScript文件来实现花类信息管理。
HTML页面结构如下:
html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>花类信息管理</title>
<script src="jquery-3.5.1.min.js"></script>
<script src="layui/layui.js"></script>
</head>
<body>
<script src="flower.js"></script>
</body>
</html>
接下来,我们在JavaScript文件中实现表格的渲染、分页、排序、全选和管理操作。代码如下:
javascript
layui.use(['table', 'form'], function(){
var table = layui.table;
var form = layui.form;
//渲染表格
table.render({
elem: '#flowerTable',
url: 'flower.json',
toolbar: '#toolbar',
cols: [[
{type: 'checkbox'},
{field: 'name', title: '花名', sort: true},
{field: 'price', title: '价格', sort: true},
{field: 'total', title: '总数量', sort: true},
{field: 'remaining', title: '剩余数量', sort: true},
{title: '管理', toolbar: '#barDemo'}
]],
page: true
});
//监听工具条
table.on('tool(flowerTable)', function(obj){
var data = obj.data;
if(obj.event === 'edit'){ //修改
layer.alert('修改花名:'+ data.name);
} else if(obj.event === 'del'){ //删除
layer.confirm('确定删除该行数据?', function(index){
obj.del();
layer.close(index);
});
}
});
//监听排序
table.on('sort(flowerTable)', function(obj){
console.log(obj.field); //当前排序的字段名
console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
});
//全选
form.on('checkbox(allChoose)', function(data){
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]');
child.each(function(index, item){
item.checked = data.elem.checked;
});
form.render('checkbox');
});
});
在代码中,我们使用了layui的table模块和form模块来实现表格的渲染、工具条的监听、排序、全选等功能。其中,我们通过url属性来指定表格的数据源,这里我们使用了一个名为flower.json的本地数据文件,可以根据实际情况进行修改。
最后,我们还需要在HTML页面中添加表格的工具条模板,代码如下:
html
<script type="text/html" id="toolbar">
<button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
<button class="layui-btn layui-btn-sm" lay-event="delete">删除</button>
</script>
<script type="text/html" id="barDemo">
修改
删除
</script>
这样,一个简单的花类信息管理界面就完成了。用户可以通过表格的工具条进行添加、删除操作,也可以通过表格的排序功能来对花类信息进行排序。同时,用户还可以通过全选功能批量进行管理操作。




