Quando clico em "pagar agora!" o JQuery atualiza o td id="conta_${conta.id}" de "pagar agora!" para "Paga!", porém não altera a coluna "Paga?" nem popula a coluna "Data de Pagamento", isso só ocorre quando dou um refresh na página, a minha dúvida é, isso era o esperado e eu preciso fazer mais alguma coisa para exibir essas alterações ?
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Lista de Contas</title>
<script src="resources/js/jquery.js"></script>
</head>
<body>
<table>
<tr>
<th>Código</th>
<th>Descrição</th>
<th>Valor</th>
<th>Tipo</th>
<th>Paga?</th>
<th>Data de Pagamento</th>
<th>Pagar Conta</th>
<th>Ações</th>
<th>Alterar Conta</th>
</tr>
<c:forEach items="${todasContas}" var="conta">
<tr>
<td>${conta.id}</td>
<td>${conta.descricao}</td>
<td>${conta.valor}</td>
<td>${conta.tipo}</td>
<td>
<c:if test="${conta.paga eq false}" >
Não paga!
</c:if>
<c:if test="${conta.paga eq true}" >
Conta paga!
</c:if>
</td>
<td>
<fmt:formatDate value="${conta.dataPagamento.time}" pattern="dd/MM/yyyy"/>
</td>
<td id="conta_${conta.id}">
<c:if test="${conta.paga eq false}">
<a href="#" onclick="pagaAgora(${conta.id});">Pagar agora!</a>
</c:if>
<c:if test="${conta.paga eq true}">
Paga!
</c:if>
</td>
<td>
<a href="removeConta?id=${conta.id}">Deletar</a>
</td>
<td>
<a href="mostraConta?id=${conta.id}">Alterar</a>
</td>
</tr>
</c:forEach>
</table>
<script type="text/javascript">
function pagaAgora(id){
$.post("pagaConta",{'id' : id}, function(){
$("#conta_"+id).html("Paga!");
});
}
</script>
</body>
</html>