Sumar columna tabla cuando se agregan filas
Publicado por Jonathan (23 intervenciones) el 26/12/2019 17:21:49
Tengo un input, que cada ves que ingreso un código de barras, se agrega una nueva fila a una tabla con cantidad de 1, si el código ya existe en la tabla, se aumenta la cantidad +1, si no existe se agrega una nueva fila
Todo bien hasta ahí, ahora quiero que cada ves que se agreguen filas, como valla sumando la cantidad en un input, con el siguiente codigo
Pero el problema es que cuando agrego una fila, me muestra cantidad 0 y cuando agrego una segunda fila y aumenta la cantidad a 2, entonces no parte sumando de 1.
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
function datos_repetidos() {
var buscar = $("#busqueda").val();
var existe = false;
$(".tabla_existencias tbody tr").find('td:eq(0)').each(function () {
var codigo = $(this).html();
if(codigo == buscar){
var trDelResultado = $(this).parent();
var cantidad = parseInt(trDelResultado.find("td:eq(2)").html());
var precio = parseInt(trDelResultado.find("td:eq(3)").html());
trDelResultado.find("td:eq(2)").html(cantidad+1);
trDelResultado.find("td:eq(4)").html((cantidad+1)*precio);
existe = true;
}
});
if (!existe){
var action = 'fetch_data';
var busqueda = document.getElementById("busqueda").value;
$.ajax({
url:"ventas.php",
method: "POST",
dataType: "json",
data:{ action:action,busqueda:busqueda},
success:function(data){
$('.listado_ventas tbody').append(data.html2);
}
});
}
calcular();
document.getElementById("busqueda").value = "";
}
Todo bien hasta ahí, ahora quiero que cada ves que se agreguen filas, como valla sumando la cantidad en un input, con el siguiente codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function calcular() {
// obtenemos todas las filas del tbody
var filas=document.querySelectorAll(".tabla_existencias tbody tr");
var total=0;
// recorremos cada una de las filas
filas.forEach(function(e) {
// obtenemos las columnas de cada fila
var columnas=e.querySelectorAll("td");
// obtenemos los valores de la cantidad y importe
var cantidad = parseInt(columnas[2].innerHTML);
total+=cantidad;
});
$('#total').val(total)
}
Pero el problema es que cuando agrego una fila, me muestra cantidad 0 y cuando agrego una segunda fila y aumenta la cantidad a 2, entonces no parte sumando de 1.
Valora esta pregunta


0