码迷,mamicode.com
首页 > 其他好文 > 详细

表格中删除选中的操作

时间:2020-02-15 13:05:34      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:check   request   rect   条目   提交表单   val   sts   ima   ted   

一、前言

最近在做Javaweb的练习,有一个需求是删除表格中勾选的数据,这时需要获取哪个复选框是勾选的, 并提交到servlet中才能调用方法删除,如图

技术图片


二、思路

在这里可以将整个表格外边加上一个form标签,把表格变成表单,这时就有了表单自带的action属性,就能提交数据到servlet中了。再在servlet中获取所有勾选的复选框就能调用方法进行删除了。



三、实现

jsp页面,在jsp页面中用了jstl标签来动态添加表格行数

<form id="form" action="${pageContext.request.contextPath}/delSelectedServlet" method="post">
        <table border="1" class="table table-bordered table-hover">
            <tr class="success">
                <th><input type="checkbox" id="firstCb"></th>
                <th style="text-align: center">编号</th>
                <th style="text-align: center">姓名</th>
                <th style="text-align: center">性别</th>
            </tr>
            <c:forEach items="${pb.list}" var="user" varStatus="s">
                <tr align="center">
                    <%--复选框中name设置为uid,value值设置为用户的id,可根据id在数据库中删除--%>
                    <th><input type="checkbox" name="uid" value="${user.id}"></th>
                    <td>${s.count}</td>
                    <td>${user.name}</td>
                    <td>${user.gender}</td>
                </tr>
            </c:forEach>
        </table>
    </form>

点击删除选中按钮提交表单我使用js代码来实现,并且为了防止没有勾选复选框点删除选中按钮出现空指针异常,在js里判断必须有勾选才会提交表单。

//给删除选中按钮添加单击事件
            document.getElementById("delSelected").onclick = function () {
                if (confirm("您确定要删除选中条目吗?")) {
                    var flag = false;
                    //判断是否有选中条目
                    var cbs = document.getElementsByName("uid");
                    for (i = 0; i < cbs.length; i++) {
                        if (cbs[i].checked) {
                            flag = true;
                            break;
                        }
                    }
                    if (flag) {//有选中条目,再提表单
                        document.getElementById("form").submit();
                    }
                }
            }

把表单提交到servlet中了,就获取勾选复选框的属性值,根据属性值操作数据库删除了

public class DelSelectedServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取所有勾选的id
        String[] ids = request.getParameterValues("uid");
        //2.调用service删除,将勾选的复选框所对应的id数组传过去,操作数据库进行删除
        UserService service = new UserServiceImpl();
        service.delSelectedUser(ids);
        //跳转界面
        response.sendRedirect(request.getContextPath()+"/userListServlet");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

表格中删除选中的操作

标签:check   request   rect   条目   提交表单   val   sts   ima   ted   

原文地址:https://www.cnblogs.com/Alitac/p/12311286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!