SSM框架+ajax实现批量删除

SSM+ajax实现批量删除

mapper
<!--  批量删除  -->
    <delete id="batchdel" parameterType="string">
        delete from t_city where id in
        <foreach collection="array" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>

    </delete>
mapper接口
void batchdel(String[] ids);
service层

service层接口

 // 批量删除
    void batchdel(String[] ids);

实现类

 // 批量删除
    @Override
    public void batchdel(String[] ids){
        this.cityMapper.batchdel(ids);
        this.featureMapper.batchdel(ids);
    }
controller层
    @ResponseBody
    @RequestMapping("batchdel.action")

    public String batchdel(String[] ids){

        this.cityServiceI.batchdel(ids);

        return "redirect:/city/findAll.action";
    }

controller层
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.2.min.js"></script>
</head>

<body>

<button onclick="toSave()">添加</button>
<button onclick="selectNotAll()">全不选</button>
<button onclick="ReverseSelect()">反选</button>
<button onclick="Batchdel()">批量删除</button>
<table border="1">
    <thead style="text-align: center">
    <tr>
        <td><a onclick="selectAll()">全选</a></td>
        <td>城市编号</td>
        <td>城市名称</td>
        <td>城市特色</td>
        <td>市长名称</td>
        <td>市长电话</td>
        <td>市长邮箱</td>
        <td>等级名称</td>
        <td>操作</td>

    </tr>
    </thead>

    <tbody style="text-align: center">
    <c:forEach items="${requestScope.cityVoList}" var="c">
        <tr>
            <td><input type="checkbox" name="cid" value="${c.id}"></td>
            <td>${c.id}</td>
            <td>${c.city_name}</td>
            <td>
                <c:forEach items="${c.features}" var="f">
                    ${f.fname}
                </c:forEach>
            </td>
            <td>${c.name}</td>
            <td>${c.tel}</td>
            <td>${c.email}</td>
            <td>${c.tbType.tname}</td>
            <td>
                <a onclick="queryById(${c.id})">编辑</a>
                <a onclick="delById(${c.id})">删除</a>
            </td>
        </tr>

    </c:forEach>

    <tr>
        <td colspan="100">
            <button onclick="toPage(1)">首页</button>
            <button onclick="toPage(${pageUtils.prevPage})">上一页</button>
            <button onclick="toPage(${pageUtils.nextPage})">下一页</button>
            <button onclick="toPage(${pageUtils.lastPage})">尾页</button>
        </td>
    </tr>

    </tbody>
</table>


<script>

    function toPage(page) {
        window.location.href=${pageContext.request.contextPath}"/city/findAll.action?page="+page;
    }

    function queryById(id) {
        window.location.href=${pageContext.request.contextPath}"/city/findById.action?id="+id;
    }

    function toSave() {
        window.location.href=${pageContext.request.contextPath}"/city/toSave.action";
    }

    function delById(id) {
        window.location.href=${pageContext.request.contextPath}"/city/delById.action?id="+id;

    }

    // 全选

    function selectAll() {
        var cids=document.getElementsByName("cid");
        for (var i in cids){
            cids[i].checked=true;
        }
    }

    // 全不选
    function selectNotAll(){

        var cids = document.getElementsByName("cid");
        for(var i in cids){
            cids[i].checked=false;
        }
    }

    // 反选
    function ReverseSelect() {

        var cids = document.getElementsByName("cid");
        for (var i in cids) {
            if (cids[i].checked) {
                cids[i].checked = false;
            } else {
                cids[i].checked = true;
            }
        }
    }


    // 批量删除
    function Batchdel() {

        var Checkbox=false;//默认复选框为空

        $("input[name='cid']").each(function(){  //获取复选框节点id
            if (this.checked==true) {
                Checkbox=true;    //已勾选
            }
        });

        if (Checkbox){  //boolean值为true
            var t=confirm("您确认要删除选中的内容吗?");//弹出对话进行警告
            if (t==false) return false;    //不勾选不处理

            obj = document.getElementsByName("cid");//将复选框定义成一个jquery对象
            ids= [];//定义一个数组

            for(k in obj){  
                if(obj[k].checked) //选中的都放进 数组里
                    ids.push(obj[k].value);
            }

            $.ajax({//利用ajax发出请求
                type:"POST",//post类型
                url:"/city/batchdel.action?ids="+ids, //向Controller传输ids
                success:function(data){
                    alert("删除成功!");//返回ok后弹出一个对话框。
                    window.location.reload();

                }
            });
        }
        else{
            alert("请选择您要删除的内容!");//不勾选不提交,弹出警告框。
            return false;
        }
    }

</script>

</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值