Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2012, 10:36
mar_megan
 
Fecha de Ingreso: noviembre-2012
Ubicación: Guanajuato
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
Suma filas y columnas en arreglo con js

Hola reciban saludos,

Esperando alguien pueda apoyarme, les agradezco de antemano. Les comento tengo el siguiente problema, cree una tabla dinamicamente, requiero mostrar resultado de suma en la ultima fila y la ultima columna;

fila0-----15-----15-----Res=30
fila1-----25-----35-----Res=60
Total----40-----50-----Res ????

Lo hace bien, muestra resultados de filas y columnas, la ultima celda es la que no me muestra, el total total, el código que utilizo es el siguiente;

Código Javascript:
Ver original
  1. function sumar(tipo){
  2.   var sum = 0;
  3.   var table = document.getElementById('Tablita');
  4.   var filas = table.getElementsByTagName('tr');
  5.   var cols = filas[1].getElementsByTagName('td');
  6.   if(tipo==0) cols = cols.length;
  7.   else cols = cols.length-1;
  8.   var totales = new Array(cols);
  9.   for (i=0; i<totales.length; i++) totales[i]=0;{  // se pone cero a todos los elementos del arreglo totales.
  10.   //iniciamos el recorrido por las FILAS
  11.     for (i=1, tot=filas.length-1; i<tot; i++){
  12.       var columnas = filas[i].getElementsByTagName('td'); // obtenemos las columnas que tiene la fila
  13.     // recorremos las columnas en la fila
  14.       var tcols = 0;
  15.       for (j=1; j<cols; j++) {
  16.         var valor = columnas[j].getElementsByTagName('input');
  17.         var num = parseFloat(valor[0].value);
  18.         if (isNaN(num)) num = 0;
  19.         tcols += num;
  20.         totales[j] += num;
  21.       }
  22.       if(tipo!=0) {
  23.         valor = columnas[columnas.length-1].getElementsByTagName('input');
  24.         valor[0].value = tcols;
  25.       }
  26.     }
  27.   columnas = filas[filas.length-1].getElementsByTagName('td');
  28.     for (i=1; i<cols; i++){
  29.       valor = columnas[i].getElementsByTagName('input');
  30.       valor[0].value = totales[i];
  31.     }
  32.   }
  33. }