cómo combinar más de 2 filas duplicadas y sumar el valor en la tabla html usando jquery
Estoy bien conhtml table
. Quiero combinar más de 2duplicate rows
y sumar los valores en las filas duplicadas.
My table table E, xample:
Nombre Cantidad
juan 200
juan 300
juan 100
harish 400
harish 400
Resultado Esperado:
Nombre Cantidad
juan 600
harish 800
Intenté con el código jquery a continuación, pero solo combina dos filas duplicadas, si se producen más de dos filas duplicadas, no se está fusionando, pero está agregando valor y mostrando filas duplicadas.
Código HTML:
<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>
Código Jquery:
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();
}
}
Resultado:
Nombre cantidad muerto
Una fecha de 100
Una fecha 25
Una fecha 25
B 100 fecha
C 70 fecha
Aquí quiero en la columna Nombre Todos los registros deben estardistinct
y cantidad a sumar.
Por favor, ayúdame con esto