Suma de inputs en tabla con multiples filas error
Publicado por rodrigo (1 intervención) el 12/04/2021 23:17:32
tengo el siguiente ejemplo de suma de inputs con js y me calcula la suma de la primera fila bien pero de la segunda no , necesito ayuda porfavor que necesito este ejemplo para una tabla con muchas filas y que funcione el calculo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<table id="second_table" class="table table-bordered table-hover">
<th>
a
</th>
<th>
b
</th>
<th>
total
</th>
<tr>
<td><input type='number' ' min='0' value='0' id="uno"></td><td><input type='number' ' min='0' value='0' id="dos"></td><td><input type='number' class='entrada' min='0' value='0' id="tres"></td><td class='subtotal'>0</td>
</tr>
<tr>
<td><input type='number' ' min='0' value='0' id="uno"></td><td><input type='number' ' min='0' value='0' id="dos"></td><td><input type='number' class='entrada' min='0' value='0' id="tres"></td><td class='subtotal'>0</td>
</tr>
</table>
<div class="form-group col-sm-4">
<label for="totaltotal">Total:</label>
<input type="text" class="form-control" disabled id="totaltotal">
</div>
<script>
$("#second_table").on("input", "input", function() {
var input = $(this);
var columns = input.closest("tr").children();
var uno = $("#uno").val();
var dos = $("#dos").val();
var tres = $("#tres").val();
var calculated = parseFloat(uno) + parseFloat(dos) + parseFloat(tres);
columns.eq(3).text(calculated.toFixed(2));
sumar_columnas();
});
function sumar_columnas(){
var sum=0;
//itera cada input de clase .subtotal y la suma
$('.subtotal').each(function() {
sum += parseFloat($(this).text());
});
//cambia valor del total y lo redondea a la segunda decimal
$('#totaltotal').val(sum.toFixed(2));
}
</script>
Valora esta pregunta


0