如何使用jQuery在表格中间添加行?

Posted

技术标签:

【中文标题】如何使用jQuery在表格中间添加行?【英文标题】:How to add rows in middle of a table with jQuery? 【发布时间】:2011-02-03 08:58:54 【问题描述】:

我有一张表格,其中包含客户姓名以及他们购买的产品及其价格。因此,每个客户都有多条记录。此表是简单的 3 列表:名称、产品和价格。

我想做的是:

将属于一位客户的所有记录放在一起(我已经完成了),然后在这些行之后添加一个新的额外行,该行将显示每个客户购买的所有产品的总价格。此行将在名称和产品列中有空单元格。并且会在价格列中显示总计。

编辑

这只是一个简单的表,没有任何类或 ID。客户明智的分组表由 php 生成。所以我有一张这样的桌子

<table>
    <tr>
        <td> name1 </td>
        <td> product1 </td>
        <td> 100 </td>
    </tr>
    <tr>
        <td> name1 </td>
        <td> product2 </td>
        <td> 200 </td>
    </tr>
    <tr>
        <td> name2 </td>
        <td> product3 </td>
        <td> 50 </td>
    </tr>
    <tr>
        <td> name2 </td>
        <td> product1 </td>
        <td> 100 </td>
    </tr>
</table> 

我想把它转换成:

<table>
    <tr>
        <td> name1 </td>
        <td> product1 </td>
        <td> 100 </td>
    </tr>
    <tr>
        <td> name1 </td>
        <td> product2 </td>
        <td> 200 </td>
    </tr>
    <!-- New row -->
    <tr>
        <td>  </td>
        <td>  </td>
        <td> 300 </td>
    </tr>
    <tr>
        <td> name2 </td>
        <td> product3 </td>
        <td> 50 </td>
    </tr>
    <tr>
        <td> name2 </td>
        <td> product1 </td>
        <td> 100 </td>
    </tr>
    <!-- New row -->
    <tr>
        <td>  </td>
        <td>  </td>
        <td> 150 </td>
    </tr>
</table>

【问题讨论】:

您如何为每个客户划分行?一类?身份证?如果你有一些可识别的东西,应该很容易获取该行并在其后修改 DOM。 你能提供一些html代码吗?这样我们就可以看到你给元素等的类名。 【参考方案1】:
var prize = 1 * 1;
    var newrow = $('<tr><td></td><td></td><td>' + prize + '</td></tr>');
    $('#rowid').after(newrow);

newrow.insertAfter('#rowid');

其中#rowid 是您要追加新行的行中的 id。

【讨论】:

我使用了这个答案。非常有帮助:) 顺便说一句,有没有办法为插入设置动画? :D【参考方案2】:

使用 jQuery,您可以选择用户名包含在其后代元素之一中的所有行。我假设用户名是唯一的。

$("tr:contains('" + username + "')")

现在,得到最后一个

$("tr:contains('" + username + "')").last()

并使用after 函数插入新行。

【讨论】:

好的,我明白了。我可以根据名称添加类并使用您的技巧。但我想我必须先得到所有名字的列表。

以上是关于如何使用jQuery在表格中间添加行?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用jQuery提交表单而不刷新然后添加另一个表格行

如何使用 jQuery 在按钮单击时添加额外的 html 表格行?

jquery给表格动态添加删除行后如何获取数据

如何在laravel中使用jquery将行添加到数据表中

将表格单元格添加到现有表格行,jQuery

如何使用 jQuery 隐藏表格的中间?