表刷新问题使用ajax + JQuery + JSON

时间:2015-12-24 13:52:09

标签: jquery json ajax

我有一个以HTML表格格式填充的记录。我在最后一栏有一个带有垃圾桶图像的achor标签。单击图像后,我试图删除该行,并使用新数据再次填充表格。我正在使用 $。getJSON()调用并迭代列表以形成表的行。调用该操作并从数据库表中删除相应的记录,但jsp页面中的表未刷新。请查看以下两张图片,以便更好地了解我的问题。

table Data before clicking on delete

Table Data after clicking on delete

我点击了第一行垃圾桶,删除了表格的第一行,但表格没有刷新,它将整个记录附加到表格的末尾。如果我刷新页面,则表格正确显示。下面是我的JQuery代码。有人建议我解决这个问题。

JQuery脚本:

 $(".deleteUserIncomesJson").click(function(e){
    e.preventDefault();
    var tempID = $(this).attr('data'); //Fetch income id        
    $.getJSON("deleteUserIncomesJson",{incomeID:tempID},function(data){
        $(this).closest('tr').remove();
         $.each(data.incomesList,function(index){
            $(".defaultTable").append("<tr><td>"+data.incomesList[index].catergory.userCodeName+"</td>"+
                    "<td>"+data.incomesList[index].payee.payeeName+"</td>"+
                    "<td>"+data.incomesList[index].description+"</td>"+
                    "<td>"+data.incomesList[index].transactionDate+"</td>"+
                    "<td>"+data.incomesList[index].amount+"</td>"+
                    "<td>&nbsp;&nbsp;</td>"+
                    +"</tr>");

        }); 

    }); 

});

HTML代码:

 <a style="text-decoration: none" class="deleteUserIncomesJson" href="#" id="{<tags:property value="incomeID"/>}" data="<tags:property value="incomeID"/>">
    <img width="20px" height="20px" src="<tags:url value="/image/Trash.png"/>" height="15"/>
 </a>

1 个答案:

答案 0 :(得分:1)

@Barmar和其他人的建议。我现在能够完成我的要求。下面是我最后的jquery函数,它正在工作链接一个冠军。我也不需要在css上工作。它只是从我的表中删除所需的行。

再次感谢你

$(".deleteUserIncomesJson").click(function(e){
    e.preventDefault();
    var self=this;
    var tempID = $(self).attr('data'); //Fetch income id        
    $.getJSON("deleteUserIncomesJson",{incomeID:tempID},function(data){
        $(self).parent('td').parent('tr').remove();
    });

});