JavaScript - ¿Como puedo calcular el "Total General" de una tabla con JavaScript?

 
Vista:
Imágen de perfil de Felix
Val: 13
Ha aumentado su posición en 8 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

¿Como puedo calcular el "Total General" de una tabla con JavaScript?

Publicado por Felix (9 intervenciones) el 10/09/2021 18:34:24
Saludos! Estoy calculando unas cantidades con precio unitario y subtotales. El problema está cuando quiero calcular el "Total General". Así va mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function multiplicar() {
    var quantity = document.querySelectorAll('.quantity');
    var price = document.querySelectorAll('.price');
    var subtotals = document.querySelectorAll('.subtotal');
    var totals = document.querySelectorAll('.totals');
 
    for(var i = 0; i < quantity.length; i++){
      subtotals[i].value = quantity[i].value * price[i].value;
    }
 
    for(var i = 0; i < subtotals.length; i++){
      totals[i].value = subtotals[i].value;
    }
 
  }

Esas últimas líneas de código no me funcionan como pensé. Los cálculos de quantity y price están perfectos pero al sumar los subtotales no me muestra el calculo en:

1
<input type="text" name="total" class="totals">
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Felix
Val: 13
Ha aumentado su posición en 8 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

¿Como puedo calcular el "Total General" de una tabla con JavaScript?

Publicado por Felix (9 intervenciones) el 10/09/2021 21:19:31
Solución:

He creado una nueva función llamada sumar y he parseado los valores a numéricos. El código ha quedado así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function multiplicar() {
    var quantity = document.querySelectorAll('.quantity');
    var price = document.querySelectorAll('.price');
    var subtotals = document.querySelectorAll('.subtotal');
 
    for(var i = 0; i < quantity.length; i++){
      subtotals[i].value = quantity[i].value * price[i].value;
    }
 
  }
 
  function sumar() {
    var subtotal1 = document.querySelectorAll('#subtotal1');
    var subtotal2 = document.querySelectorAll('#subtotal2');
    var subtotal3 = document.querySelectorAll('#subtotal3');
    var subtotal4 = document.querySelectorAll('#subtotal4');
    var subtotal5 = document.querySelectorAll('#subtotal5');
    var totals = document.querySelectorAll('.total');
 
    for(var i = 0; i < subtotal1.length; i++){
      totals[i].value = Number(subtotal1[i].value) + Number(subtotal2[i].value) + Number(subtotal3[i].value) + Number(subtotal4[i].value) - Number(subtotal5[i].value);
    }
 
  }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar