Wie kombiniert man mehr als 2 doppelte Zeilen und summiert den Wert in der HTML-Tabelle mit jquery

Ich bin stuct mithtml table. Ich möchte mehr als 2 @ kombinierduplicate rows und summiere die Werte in den doppelten Zeilen.

Meine Tabelle Tabelle E, Beispiel:

Nam   Meng
john 200
john 300
john 100
harish 400
harish 400

Erwartetes Ergebnis

Nam   Meng
john 600
harish 800

Ich habe es mit dem folgenden JQuery-Code versucht, aber es werden nur zwei doppelte Zeilen zusammengeführt. Wenn mehr als zwei doppelte Zeilen auftreten, werden diese nicht zusammengeführt, sondern es wird ein Mehrwert erzielt und eine doppelte Zeile angezeigt.

HTML Quelltext

<table>
    <tr>
        <td>Name</td>
        <td>quantity</td>
        <td>expired</td>
    </tr>
    <tr class="row">
        <td class="id">A</td>
        <td class="val">25</td>
        <td class="date">date</td>
    </tr>
    <tr class="row">
        <td class="id">A</td>
        <td class="val">25</td>
        <td class="date">date</td>
    </tr>
     <tr class="row">
        <td class="id">A</td>
        <td class="val">25</td>
        <td class="date">date</td>
    </tr>
     <tr class="row">
        <td class="id">A</td>
        <td class="val">25</td>
        <td class="date">date</td>
    </tr>
    <tr class="row">
        <td class="id">B</td>
        <td class="val">100</td>
        <td class="date">date</td>
    </tr>
    <tr class="row">
        <td class="id">C</td>
        <td class="val">35</td>
        <td class="date">date</td>
    </tr>
    <tr class="row">
        <td class="id">C</td>
        <td class="val">35</td>
        <td class="date">date</td>
    </tr>
</table>

Jquery Code:

var first_row = '<tr class="row"><td class="id">NULL</td></tr>';
var rowCount = 0;
var rowSum = 0;
$.each($('.row'), function (index, curRow) {
    if ($(first_row).find('.id').text() != $(curRow).find('.id').text()) {

       if (rowCount > 1) {
            $(first_row).find('.val').text(rowSum);
            $(first_row).find('.val').css('background-color','silver');
            for (i = 0; i < rowCount; i++) {
                $(first_row).next('.row').find('.val').remove();
                $(first_row).next('.row').find('.date').remove();
                $(first_row).next('.row').find('.id').remove();

            }
            }
       first_row = $(curRow);
        rowSum = 0;
        rowCount = 0;
    }

    rowSum += parseInt($(curRow).find('.val').text());
    rowCount += 1;
});

if (rowCount > 1) {
    $(first_row).find('.val').text(rowSum);
    $(first_row).find('.val').css('background-color','silver');
    for (i = 0; i < rowCount; i++) {
        $(first_row).next('.row').find('.val').remove();
        $(first_row).next('.row').find('.date').remove();
        $(first_row).next('.row').find('.id').remove();
    }
}

Ergebnis

Nam  Meng  abgelaufe

A 100 date
A 25 date
A 25 date
B 100 date
C 70 date

Hier möchte ich in der Spalte Name Alle Datensätze sollten @ sedistinct und zu summierende Menge.

Bitte hilf mir bei diesem

Antworten auf die Frage(4)

Ihre Antwort auf die Frage