javascript - HTML 表格 "Add Row"或 "Remove Row"按钮列

标签 javascript html dom

我需要一种方法来在我的 html 表格中的另一行下方添加或删除一行。我正在使用 dom,可以很容易地添加和删除行,但是当我尝试使用一个按钮列来动态添加和删除行时,问题就出现了。

例如:

    |  Item Type  |     Item     |  Add/Remove Item
====================================================
    |   Fruit >   |     Apple    |   [ Add new ]
----------------------------------------------------
    |             |     Mango    |   [ Remove ]
----------------------------------------------------
    |             |     Pear     |   [ Remove ]
----------------------------------------------------

右栏中的[Add new][Remove] 条目是按钮。单击 [Remove] 按钮将删除该行(删除梨或芒果行)。单击 [Add new] 按钮将添加一个新项目(一种新水果)。

如果我为按钮指定 html 并基于 onClick 添加新行,我想不出一种方法来跟踪按钮从哪一行单击以添加新行。我能想到的最好方法是有一个数组来跟踪所有项目类型及其所在的行,然后将项目的 ID 或名称传递到 onClick() 的方法中,但这似乎容易出错且困惑。

为了解决这个问题,我愿意考虑任何解决方案(jquery 插件、javascript 代码等)。有人可以指出实现此目标的最佳方法吗?

最佳答案

像这样?我不知道你要在哪里取值“芒果”和“梨”.. http://jsfiddle.net/vPatQ/

$('.AddNew').click(function(){
   var row = $(this).closest('tr').clone();
   row.find('input').val('');
   $(this).closest('tr').after(row);
   $('input[type="button"]', row).removeClass('AddNew')
                                 .addClass('RemoveRow').val('Remove item');
});

$('table').on('click', '.RemoveRow', function(){
  $(this).closest('tr').remove();
});

html代码

<table>
    <tr><td>Item Type</td><td>Item</td><td>Add/Remove Item</td></tr>
    <tr><td><input type='text' value='Fruit >'></td>
        <td><input type='text' value='Apple'></td>
        <td><input type='button' class='AddNew' value='Add new item'></td></tr>
</table>

关于javascript - HTML 表格 "Add Row"或 "Remove Row"按钮列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304032/

相关文章:

javascript - 将 Earth Engine javascript 库导入到另一个 javascript 文件中

javascript - 在按钮内渲染 SVG 图标?

html - 使用 <a> 或 <a role ="button"> 进行可访问性的更好做法是什么?

javascript - "return false"在某些浏览器中被忽略,因为链接使用 JavaScript 动态添加到 DOM

javascript - 使用 aspnet mvc 将 Js 语法转换为 C#

javascript - 将 json 数据 POST 到 Bottle

javascript - 查看 [对象 HTMLInputElement] - JavaScript

html - 具有可变宽度输入的固定宽度元素

dom - 如何在 XML 文件中添加换行符?

javascript - 克隆的自定义 HTML 元素在附加到主 DOM 之前不会成为自定义元素?