【问题标题】:Removing a table row and displayed entity using jQuery使用 jQuery 删除表格行和显示的实体
【发布时间】:2013-06-20 08:50:03
【问题描述】:

我有一个这样生成的表:

<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 值。有没有更好的方法?

【问题讨论】:

    标签: jquery servlets jstl


    【解决方案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>
    

    【讨论】:

    • 问题是,我不确定它是否坏了,因为我在拿到模型之前无法测试它,这应该是明天。这都是理论上的,我事先询问只是因为我将有大约六个小时的时间来完全插入模型并确保一切正常。我主要关心的是 jQuery 是否会调用 noviFilm.clanoviPostave.remove(clanPostave) 方法。如果一切正常,我会在设置模型时将此标记为正确答案。你能在帖子末尾回答我的附带问题吗?
    猜你喜欢
    • 2014-09-04
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多