Как добавить строки в середине таблицы с jQuery?

У меня есть таблица, которая имеет клиентские имена наряду с продуктами, которые они купили с их ценами. Таким образом, существует несколько записей для каждого клиента. Эта таблица является простой таблицей на 3 столбца: имя, продукт и цена.

То, что я хочу сделать:

Поместите все записи, принадлежащие одному клиенту вместе (я сделал это), и сразу после того, как эти строки добавляют одну новую дополнительную строку, которая просто показала бы общую стоимость всех продуктов, которые купил каждый клиент. Эта строка имела бы пустую ячейку в столбце продукта и имени. И имел бы общее количество в ценовом столбце.

Править

Это - просто простая простая таблица без любого класса или идентификаторов. клиент мудрая сгруппированная Таблица сгенерирован 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>
9
задан Brian Tompsett - 汤莱恩 27 May 2017 в 15:30
поделиться

2 ответа

Используя jQuery, вы можете выбрать все строки, в которых имя пользователя содержится в одном из его дочерних элементов. Я предполагаю, что имена пользователей уникальны.

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

Теперь возьмите последнюю

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

И используйте функцию после , чтобы вставить новую строку.

8
ответ дан 4 December 2019 в 07:47
поделиться
var prize = 1 * 1;
    var newrow = $('<tr><td></td><td></td><td>' + prize + '</td></tr>');
    $('#rowid').after(newrow);

или

newrow.insertAfter('#rowid');

где #rowid - это идентификатор из строки, в которую вы хотите добавить новую строку.

20
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: