Hola
JavierB,
Ya le encontré la solución al tema de las
<tr><td> que se generan entre medio con PHP de las que tengo que calcular, sin modificar tu función javascript.
Lo que me falta saber ahora son 2 cosas:
a) Principalemente tu haces esto para ir viendo los resultados de la suma de cada una de las 3 columnas a tiempo real:
Código HTML:
<tr>
<td align="right">Total Setup fee*</td>
<td align="center" id="1">0</td>
<td align="center" id="2">0</td>
<td align="center" id="3">0</td>
</tr>
En este punto, necesito
guardar en 3 variables diferentes los totales finales de cada columna, ¿como puedo hacer eso?
b) Y la otra pregunta es
¿como puedo usar la misma función para hacer los cálculos de la misma manera en una nueva tabla (igual a la anterior) dentro de la misma página?
Yo lo que hice fué duplicar la función, cambiarle el nombre y los valores de las array para tratar de identificar nuevos totales mediante
id="4", id="5" e id="6", en una nueva tabla con
id="ta1", pero funcionan los cálculos de las filas y no me muestra los totales.
¿Es posible resolver esto?
Esta es la función duplicada:
Código HTML:
<SCRIPT Language = "JavaScript">
<!--
function sumar1(num1) {
elem = document.getElementById('ta1').getElementsByTagName('tr')[num1];
cel1 = parseFloat(elem.getElementsByTagName('td')[1].childNodes[0].value);
cel2 = parseFloat(elem.getElementsByTagName('td')[2].childNodes[0].value);
elem.getElementsByTagName('td')[3].childNodes[0].value = cel1 * cel2;
// Ahora vamos a sumar las columnas
var tot = new Array;
tot[4] = 0;
tot[5] = 0;
tot[6] = 0;
// aqui modifico el <x por la cantidad de filas que tengo a sumar.
for(i = 1; i < 6; i++) {
elem = document.getElementById('ta1').getElementsByTagName('tr')[i];
for(j = 1; j < 4; j++)
tot[j] += parseFloat(elem.getElementsByTagName('td')[j].childNodes[0].value);
}
for(i = 4; i < 7; i++)
document.getElementById(i).innerHTML = tot[i];
}
-->
</SCRIPT>
Desde ya muchas gracias por tu valiosa ayuda...
Salu2.