使用jQuery删除表行和显示的实体

时间:2013-06-23 21:20:41

标签: jquery servlets jstl

我有一个像这样生成的表:

<table>
    <tr>
    <th>Članovi postave:</th>
    <c:if test="${not empty user}">
        <c:if test="${user.admin eq true}">
        <td><a href="AddClanPostave">Dodaj novog člana postave</a></td>
    </c:if>
        </c:if>
</tr>
<c:forEach items="${noviFilm.clanoviPostave}" var="clanPostave">
    <tr>
        <td><c:out value="${clanPostave}"/><br><td>
    <c:if test="${not empty user}">
        <c:if test="${user.admin eq true}">
        <form action="RemoveServlet" method="post">
            <input type="hidden" name="type" value="movie"/>
            <input type="hidden" name="entity" value="${clanPostave.id}"/>
        <td><input type="submit" value="Remove"></td>
        </form>
        </c:if>
    </c:if>
    </tr> 
</c:forEach>
</table>

现在,我对网络编程很陌生。在大多数情况下,我理解servlet,.jsp和el和jstl,我开始学习jQuery。这里的代码调用有问题的servlet,从适当的列表中删除给定的实体并重新加载页面,但我想知道是否可以使用jQuery更快更容易地实现这一点?

类似的东西:

$(".delete").live('click', function(event) {
    $(this).parents('tr').remove();
});

问题在于我不确定这是否在列表中正常工作,而不仅仅是显示。

一个附带问题 - 是否有更有效的方法来获取所选对象。我现在正在做的是存储他的UUID id属性,然后浏览列表并比较toString值。有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

真正的问题是什么?它坏了吗?

你不应该使用live,而是使用最新的jQuery版本并按如下方式编写:

$(document).on("click", ".delete", function(event) {
    $(this).parents('tr').remove();
});

当你在这里时,改进HTML: - )

<table>
  <thead>
    <tr>
    <th>Clanovi postave:</th>
    <c:if test="${not empty user}">
        <c:if test="${user.admin eq true}">
        <td><a href="AddClanPostave">Dodaj novog clana postave</a></td>
    </c:if>
        </c:if>
    </tr>
  <thead>
  <tbody>
    <c:forEach items="${noviFilm.clanoviPostave}" var="clanPostave">
      <tr>
          <td><c:out value="${clanPostave}"/><br><td>
      <c:if test="${not empty user}">
          <c:if test="${user.admin eq true}">
          <form action="RemoveServlet" method="post">
              <input type="hidden" name="type" value="movie"/>
              <input type="hidden" name="entity" value="${clanPostave.id}"/>
          <td><input type="submit" value="Remove"></td>
          </form>
          </c:if>
      </c:if>
      </tr> 
    </c:forEach>
  </tbody>
</table>