Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2016, 13:38
esoto
 
Fecha de Ingreso: abril-2015
Mensajes: 96
Antigüedad: 9 años
Puntos: 1
Problema con suma

Amigos, Quisera ver si ustedes me pueden ayudar con el siguiente problema con el que me encuentro...

tengo una tabla html, a la cual le tengo un boton agregar, el cual agrega celdas a la tabla. mi problema consiste en que yo necesito ir ingresando valores en estas celdas y se me deben ir sumando.. y esto lo que no logro hacer...

Funcion que agregar las celdas a la tabla.
Código Javascript:
Ver original
  1. function myCreateFunction() {
  2.  
  3.         var table = document.getElementById("myTable");
  4.         var row = table.insertRow(1);
  5.         var fila = table.insertRow(1);
  6.         var cell1 = row.insertCell(0);
  7.         var cell2 = row.insertCell(1);
  8.         var cell2 = row.insertCell(1);
  9.         var cell3 = row.insertCell(1);
  10.         var cell4 = row.insertCell(1);
  11.         var cell5 = row.insertCell(1);
  12.         var cell6 = row.insertCell(1);
  13.         var cell7 = row.insertCell(1);
  14.         var cell8 = row.insertCell(1);                  
  15.         var cell9 = row.insertCell(1);    
  16.         var cell10 = row.insertCell(1);    
  17.         var cell11 = row.insertCell(1);  
  18.  
  19.    
  20.         cell1.innerHTML += '<input type="text" id="cCodCuenta" name="cCodCuenta[]" style="width:80px" onkeyup="inicio();" >';
  21.  
  22.         cell2.innerHTML += '<input type="button" id="borrar" onClick="borrar();" class="borrar" style = "background:red;color:white;"    style="width:50px"  value="-">';
  23.  
  24.         $(function () {
  25.         $(document).on('click', '.borrar', function (event) {
  26.         event.preventDefault();
  27.         $(this).closest('tr').remove();
  28.         });
  29.         });
  30.        
  31.  
  32.         cell3.innerHTML += '<select id="sucursal" id="txtSucursal" name="txtSucursal[]">'
  33.         + '<option value="0">Seleccione</option>'
  34.         + '<option value="10">ANTOFAGASTA</option>'
  35.         + '<option value="31">ASIGNABLES</option>'
  36.         + '<option value="4">BUIN</option>'
  37.         + '<option value="1">CASA MATRIZ</option>'
  38.         + '<option value="21">CHILLAN</option>'
  39.         + '<option value="20">CONCEPCION</option>'
  40.         + '<option value="22">COPIAPO</option>'
  41.         + '<option value="3">CURACAVI</option>'
  42.         + '<option value="24">CURICO</option>'
  43.         + '<option value="11">IQUIQUE</option>'
  44.         + '<option value="9">LA SERENA</option>'
  45.         + '<option value="33">MELIPILLA</option>'
  46.         + '<option value="8">OSORNO</option>'
  47.         + '<option value="18">OVALLE</option>'
  48.         + '<option value="26">PUERTO MONTT</option>'
  49.         + '<option value="17">QUILLOTA</option>'
  50.         + '<option value="14">RANCAGUA</option>'
  51.         + '<option value="13">SAN FERNANDO</option>'
  52.         + '<option value="7">SAN VICENTE TT</option>'
  53.         + '<option value="30">SANTA CRUZ</option>'
  54.         + '<option value="25">SANTIAGO CENTRO</option>'
  55.         + '<option value="12">TALAGANTE</option>'
  56.         + '<option value="27">TALCA</option>'
  57.         + '<option value="23">TEMUCO</option>'
  58.         + '<option value="6">VALPARAISO</option>'
  59.         ;
  60.  
  61.         cell4.innerHTML += '<select id="departamento" id="txtDepartamento" name="txtDepartamento[]">'
  62.         + '<option value="0">Seleccione</option>'
  63.         + '<option value="1">Informatica</option>'
  64.         + '<option value="2">Operaciones</option>'
  65.         + '<option value="3">Riesgo</option>'
  66.         + '<option value="4">Archivo</option>'
  67.         + '<option value="5">Recursos Humanos</option>'
  68.         + '<option value="6">Contabilidad</option>';
  69.  
  70.         cell5.innerHTML += '<select id="txtGerencia" name="txtGerencia[]">'
  71.         + '<option value="0">Seleccione</option>'
  72.         + '<option value="1">General</option>'
  73.         + '<option value="2">Informatica</option>'
  74.         + '<option value="3">Riesgo</option>';
  75.  
  76.         cell6.innerHTML += '<input type="text" name="txtnDocumento[]"  style="width:90px" >';
  77.  
  78.         cell7.innerHTML += '<select id="tDocumento" name="tDocumento[]" >'
  79.         + '<option value="0">Seleccione</option>'
  80.         + '<option value="Cheque">Cheque</option>'
  81.         + '<option value="Letra">Letra</option>'
  82.         + '<option value="Pagaré">Pagaré</option>'
  83.         + '<option value="Vale Vista">Vale Vista</option>'
  84.         + '<option value="Depósito">Depósito</option>'
  85.         + '<option value="Sin Documento">Sin Documento</option>';
  86.  
  87.         cell8.innerHTML += '<input type="text" id="txtgParticular" name="txtgParticular[]"  style="width:85px">';
  88.  
  89.         cell9.innerHTML += '<input type="text" id="txtvHaber" onkeyup="total2();" name="txtvHaber[]" style="width:90px" >';
  90.  
  91.         cell10.innerHTML += '<input type="text" id="txtvDebe" onkeyup="total();" name="txtvDebe[]" style="width:90px" >';
  92.  
  93.         cell11.innerHTML += '<input type="text" id="txtnCuenta" name="txtnCuenta[]"  readonly>';
  94.        
  95.         }

Funcion donde intento realizar la suma..

Código Javascript:
Ver original
  1. function total(){    
  2.         var vDebe = document.getElementById('txtvDebe').value;
  3.         arr = [];    
  4.         vDebe2 = arr.push(vDebe);
  5.         console.log(vDebe2.length);
  6.  
  7.         for(i=0;i<arr.length;i++){
  8.         sum2 = sum2 + parseInt(arr[i]);
  9.         document.getElementById('vDebe2').value=sum2;  
  10.  
  11.         }

que es lo que hago aqui.. rescato los valores por id de la celda "txtvDebe".. y los almaceno ( algo así como una pila)..
y luego recorro y sumo.. cual es el problema.. es que no suma correctamente..
no se limpia el arreglo.. no vuelve a cero... y eso es lo que necesito..

ya que por ejemplo si en una celda digito un 1 pero me equivoco y lo quiero cambiar por un 2, en vez de mantener el 2 me suma y me muestra 3...

espero me puedan ayudar.. saludos