批量删除操作----代码 复选框
此处实现出现的问题, form表单未闭合 ,出现多个form 未取消,导致一直无法提交,debug多次也无法定位错误,最终才发现是form 标签的问题
第一步:添加 复选框 以及 全选取消全选的js 实现批量删除 多选, 需要 在form表单里面进行 <script> <%-- 设置或取消全选--%> function checkAll(obj){ var boxes = document.getElementsByName("id"); for (var i =0;i<boxes.length;i++){ boxes[i].checked = obj.checked; } } </script> <table class="table table-striped table-bordered table-hover dataTable"> <tr class="active"> <td class="text-center"><input type="checkbox" id="all" value="全选" onclick="checkAll(this)"></td> <th>专业id</th> <th>专业名称</th> <th>学费</th> <th width="200">操作</th> </tr> <form action="${pageContext.request.contextPath}/major/deleteMajorsById" method="post"> <c:forEach items="${sessionScope.majorList}" var="list"> <tr class="success"> <td class="text-center"><input type="checkbox" name="id" value="${list.majorId}" class="cbox"/></td> <td>${list.majorId}</td> <td>${list.majorName}</td> <td>${list.tuition}</td> <td> <div class="btn-group"> <a href="${pageContext.request.contextPath}/major/queryOne?majorId=${list.majorId}" class="btn btn-default btn-gradient"><span class="glyphicons glyphicon-pencil"></span></a> <a onclick="" href="${pageContext.request.contextPath}/major/delete?majorId=${list.majorId}" class="btn btn-default btn-gradient dropdown-toggle"><span class="glyphicons glyphicon-trash"></span></a> </div> </td> </tr> </c:forEach> </table> <div class="pull-right"> <ul class="pagination" id="paginator-example"> <li><a href="#"><</a></li> <li><a href="#"><<</a></li> <li><a href="#">1</a></li> <li class="active"><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">></a></li> <li><a href="#">>></a></li> </ul> </div> <%--批量删除--%> <div class="pull-left"> <input type="submit" value="批量删除" class="btn btn-default btn-gradient pull-right delall" > </div> </div> </form> 第二步: dao实现 @Override public int deleteMajorByIds(String[] ids) { //delete from tb_major where majorId in ("01","04","05") String sql = "delete from tb_major where major_id in ("; for (int i =0;i<ids.length-1;i++){ sql += ids[i]+","; } sql += ids[ids.length-1]+")"; System.out.println("sql语句"+sql); return jdbcTemplate.update(sql); } 第三步: controller 实现 @RequestMapping("/deleteMajorsById") public String deleteMajorsById(String[] id){ int rows = majorDao.deleteMajorByIds(id); System.out.println("删除记录条数:"+rows); return "redirect:query"; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通