编辑表并保存对数据库的修改

时间:2016-07-22 08:36:47

标签: javascript html ajax spring-mvc

在我的JSP中,我按如下方式填充表格(仅限相关数据):

<c:forEach var="person" items="${personsList}">
                <c:forEach var="account" items="${person.accounts}">
                    <tr>
                        <td>${account.accountId}</td>
                        <td contenteditable='true' onblur="saveData(${person.id},${account.accountId},${account.balance})">${account.balance}</td>
</c:forEach>
            </c:forEach>

请注意,我想使用“onblur”活动。 我的JavaScript看起来像这样:

function saveData(id, accId, balance) {
    $.ajax({
        type : "POST",
        url : "updateBalance.html",
        data: ({id : id, accId : accId, balance : balance}),
        success : function(data) {
            if (data!="success!!") {alert("done")}
            else {alert("error!!")}
        }
    })
}

问题是我不知道如何发送新的“余额”值(当我调用javascript函数时,我总是在第一次加载页面时发送加载的余额)。

1 个答案:

答案 0 :(得分:0)

您可以将this对象传递给您的javascript函数saveData,如下所示:

<c:forEach var="person" items="${personsList}">
    <c:forEach var="account" items="${person.accounts}">
    <tr>                   
    <td>${account.accountId}</td>
    <td contenteditable='true' onblur="saveData(this, ${person.id},${account.accountId},${account.balance})">${account.balance}</td>
    </c:forEach>
</c:forEach>

并重新定义你的功能:

function saveData(obj, id, accId, balance) {
    $.ajax({
        type : "POST",
        url : "updateBalance.html",
        data: ({id : id, accId : accId, balance : $(obj).text()}),
        success : function(data) {
            if (data!="success!!") {alert("done")}
            else {alert("error!!")}
        }
    })
}
相关问题