解决使用Ajax删除表格数据需要手动刷新问题

Posted 花伤情犹在

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决使用Ajax删除表格数据需要手动刷新问题相关的知识,希望对你有一定的参考价值。

使用Ajax交换数据后不会自动刷新

如图:

在这里插入图片描述
使用c:foreach遍历集合:

  1. 给父级标签tr的id设置为当前删除的行id:<tr id="${list.id}">
  2. 在需要删除的按钮位置添加点击事件,函数内传入当前删除的行id:x(${list.id})
<c:forEach items="${list}" var="list" varStatus="state">
               <%--判断行号-(偶数行)--%>
               <c:if test="${state.count %2 == 0}" var="even">
                   <tr id="${list.id}">
               </c:if>
               <%--判断行号-(奇数行)--%>
               <c:if test="${!even}" var="odd">
                   <tr id="${list.id}" style="background-color: darkgray">
               </c:if>
                   <td>${list.id}</td>
                   <td>${list.districtName}</td>
                   <td>${list.monitorTime}</td>
                   <td>${list.rain}</td>
                   <td>${list.monitoringStation}</td>
                   <td>${list.monitoringAddress}</td>
                   <td><a href="javascript:;" id="delete"  onclick="x(${list.id})">删除</a></td>
               </tr>
</c:forEach>

使用$.ajax异步传输:
删除按钮触发函数传入了删除行的id,然后通过id获取到父级元素tr将其删除:$("#"+id).remove();

function x(id) {
        $.ajax({
            url:"deleteServlet",
            async:"true",
            data:{"id":id},
            type:"post",
            dataType:"json",
            success:function (result) {
                if (result){
                    alert("删除成功!")
                    $("#"+id).remove();
                }else {
                    alert("删除失败!")
                }
            }
        })
    }

效果:
在这里插入图片描述

以上是关于解决使用Ajax删除表格数据需要手动刷新问题的主要内容,如果未能解决你的问题,请参考以下文章

Ajax 功能无法在不刷新页面的情况下正常删除

ajax调用删除方法后,页面不手动刷新,就一直显示那信息

使用ajax刷新表格内容后重绘数据表?

Laravel/Ajax:刷新表格将新数据堆叠在底部(旧数据保留)

使用新参数重新加载 Ajax 请求

请求Ajax成功后刷新表