Ver Mensaje Individual
  #12 (permalink)  
Antiguo 11/07/2004, 14:45
Avatar de BooMeranGz
BooMeranGz
 
Fecha de Ingreso: febrero-2001
Mensajes: 350
Antigüedad: 23 años, 2 meses
Puntos: 0
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.