【问题标题】:removing a table row after XmlHttpRequest completeXmlHttpRequest 完成后删除表格行
【发布时间】:2015-01-14 19:34:12
【问题描述】:

我有一个带有一堆表格行的 HTML 表格,每行都有一个 id 属性和一个表格单元格中的删除按钮。我将 ajax 调用绑定到删除按钮:

$('.deletebutton').bind 'click', () ->
  id = $(this).attr "id" // getting my row id here
  $.ajax // sending my ajax request
    url: "/admin/delete/#{id}"
    type: 'POST'
    beforeSend: (jqXHR, settings) ->
      jqXHR.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr('content'))

这没有任何问题。现在我将以下参数添加到我的 ajax 调用中以删除表行,但它不起作用。我尝试了不同的东西,但我无法弄清楚这一点。请帮忙。

    success: (data, textStatus, jqXHR) ->
      $('tr[id=id]').remove() // I don't understand why my jQuery selector doesn't work here...

【问题讨论】:

  • $('#trid').remove() 使用这个
  • 你的选择器需要是:$('tr#' + id)
  • 为什么我不能用这个:api.jquery.com/attribute-equals-selector
  • 使用 $('#trid').remove() 或 0` $('tr#' + id)`
  • 您可以使用属性选择器,但您没有正确构建它。它需要是 $('tr[id="' + id + '"]')

标签: javascript jquery ajax coffeescript


【解决方案1】:

在纯 JavaScript 中('因为我不知道 CoffeeScript - 抱歉 :-))。 无需使用行 'id'。

$('.deletebutton').click(function(){

   var rowToDelete = $(this).closest('tr');

    $.ajax({
       /* --- the rest of your params here --- */
        success: function() {
            rowToDelete.remove();
        }
    })
});

【讨论】:

  • 我会以此作为答案,但是我使用了您在 cmets 中发布的构造,因为它更符合我最初所做的。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-07-18
  • 2021-10-02
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-11
  • 1970-01-01
相关资源
最近更新 更多