个人博客地址https://nfreak-man.cn
带复选框 checkbox 的列表要实现批量删除的功能,首先要获取被选中的信息的全部 id,可以把该列表放入一个 form 表单中,以获取表单信息的方式获取全部 id,然后遍历 id,循环删除所有信息。
列表形式:
获取列表选中信息 id
把 table 放入 form表单,并把复选框 checkbox 的 value 值设置为 id:
编号 | 姓名 | 性别 | 年龄 | 籍贯 | 邮箱 | 操作 | ||
---|---|---|---|---|---|---|---|---|
${s.count} | ${user.name} | ${user.gender} | ${user.age} | ${user.address} | ${user.qq} | ${user.email} | 修改 |
点击删除按钮提交表单,获取 id
按钮:
js代码:
window.onload = function(){
document.getElementById("delSelected").onclick = function(){
if(confirm("您确定要删除选中信息吗?")){
var flag = false;
//判断是否有选中条目
var cbs = document.getElementsByName("uid");
for (var i = 0; i < cbs.length; i++) {
if(cbs[i].checked){
flag = true;
break;
}
}
if(flag){
document.getElementById("form1").submit();
}
}
}
//获取第一个checkbox
document.getElementById("firstCb").onclick = function(){
//获取下摆你列表中所有cd
var cbs = document.getElementsByName("uid");
//遍历
for (var i = 0; i < cbs.length; i++) {
//设置cbs[]的check状态 = firstCb.checked
cbs[i].checked = this.checked;
}
}
}
DelSelectedServlet
@WebServlet("/delSelectedServlet")
public class DelSelectedServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取所有id
String[] ids = request.getParameterValues("uid");
//调用service删除
UserSvice service = new UserServiceImpl();
service.delSelectedUser(ids);
//跳转查询所有servlet
response.sendRedirect(request.getContextPath()+"/userListServlet");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
Service 方法
@Override
public void delSelectedUser(String[] ids) {
//遍历数组
for (String id : ids) {
//调用dao删除
dao.delete(Integer.parseInt(id));
}
}
dao方法
@Override
public void delete(int id) {
//定义sql
String sql = "delete from user where id = ?";
//执行sql
template.update(sql,id);
}
l
String sql = "delete from user where id = ?";
//执行sql
template.update(sql,id);
}
点赞
收藏
分享
文章举报
William_GJIN
发布了21 篇原创文章 · 获赞 0 · 访问量 454
私信
关注