【问题标题】:Delete row in a table by clicking cell in another table通过单击另一个表格中的单元格来删除表格中的行
【发布时间】:2018-10-10 23:37:06
【问题描述】:

我有两张桌子:一张桌子站在多列表旁边。我想通过单击位于该行旁边的单列表中的单元格来删除多列表中的一行。

我正在尝试通过使用此代码来做到这一点:

$('.my-table').on('click','td .del-row-td',function(e){
  e.preventDefault();
  $(this).closest('tr').remove();
});

其中 .my-table 是一个多列表,而 .del-row-td 是单列表中的一个单元格。如果这是两个单独的对象,也许“最近”不起作用?

Here is a demo 我正在尝试执行此操作。以及here is图片中的解释。

【问题讨论】:

  • 你有一堆相同的id,比如del-column-tdid 必须是唯一的。
  • @Frecosos,谢谢,我已更正但忘记保存)

标签: javascript jquery html


【解决方案1】:

需要获取单列tr的索引,并移除匹配的多列tr

$('#table-del tr').click(function(){
  var trIndex = $("tr", $(this).closest("table")).index(this);
  $($('#my-table tr')[trIndex]).remove()
  $(this).remove();
})

updated fiddle(更新为使用on

一些更好的代码选项来删除匹配的 tr here

【讨论】:

  • 谢谢!它适用于一开始的行。但不知何故,它不适用于使用“+”按钮(黄色)添加的行。你有什么想法为什么会这样?这是包含您的代码的当前版本:jsfiddle.net/mozghovyi/bgfvn8aw/1
  • 是的,我的错,对不起,改用on,工作版本:jsfiddle.net/5k0qeoqL/1
  • 再次感谢您,我猜不到!我希望最后一个问题:) : 你知道为什么如果我删除表中的第一行,“添加”按钮会停止添加行吗?我可以删除和添加任意数量的行,它工作正常,但是当我删除最上面的行时 - 它停止添加行......
  • 由于添加列的元素被隐藏了,你给了他们所有position:absolute,我认为不推荐,你需要找到一个css解决方案
  • 感谢您的关注!我会寻找解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-02
  • 2014-09-03
  • 2020-06-12
  • 2012-12-12
  • 1970-01-01
相关资源
最近更新 更多