批量删除操作----代码 复选框

此处实现出现的问题,  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="#">&lt;</a></li>
        <li><a href="#">&lt;&lt;</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="#">&gt;</a></li>
        <li><a href="#">&gt;&gt;</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";
}
 

 

posted @ 2022-04-10 20:57  黄河远15  阅读(257)  评论(0编辑  收藏  举报