Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/07/2012, 09:00
arthurhdez91
 
Fecha de Ingreso: julio-2012
Ubicación: Medellin
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 1
De acuerdo Respuesta: Multiplicar valores de un arreglo en html dom

hola este es el javascript que suma y multiplica los array

Código Javascript:
Ver original
  1. function sumacampos()
  2. {
  3.    //declaro variable que almacenara la suma total
  4.     var suma = 0;
  5.     //declaro variable que almacenara la multiplicacion total
  6.     var mult = 0;
  7.     var total=0;
  8.     //el "CampoaSumar" son los campos textBox que se sumaran
  9.     for(var i=0; i < document.tbl.CampoaSumar.length; i++)
  10.     {
  11.         //Comparo el id del campo en que me encuentro no lo sumo y sumar los demas
  12.         if(eval("document.getElementById('precio').id") != eval("document.tbl.CampoaSumar["+i+"].id") )
  13.             {
  14.  
  15.             //Recorro el vector de los campos y realizo la suma
  16.             suma = suma + parseFloat(eval("document.tbl.CampoaSumar["+i+"].value"));
  17.         }
  18.          
  19.     }
  20.          //Asigno la suma a un label que ira cambiando de acuerdo a la cantidad que se capture
  21.          document.getElementById('MiLabelTOTAL').innerHTML = suma;
  22.     for(var i=0; i< document.tbl.CampoaSumar.length; i++)
  23.     {
  24.     if(document.tbl.cantidad[i].value == ""){
  25.             this.document.tbl.cantidad[i].value = 0;
  26.         }
  27.         if(document.tbl.precio[i].value == ""){
  28.             this.document.tbl.precio[i].value = 0;
  29.         }
  30.         mult = parseFloat(eval("document.tbl.cantidad["+i+"].value")); //le asigno el valor de la cantidad
  31.             mult = mult * parseFloat(eval("document.tbl.precio["+i+"].value")); //hago la multiplicacion
  32.         document.tbl.total[i].value = mult; //llevo el total a al al input
  33.         total=total+mult;
  34.         this.document.getElementById('labelTOTAL').innerHTML = total;
  35.     }
  36.  
  37. }

debes de cambiar los nombres en estos tres asi
Código Javascript:
Ver original
  1. var cell2 = row.insertCell(1);
  2.             var txtInp = document.createElement('input');
  3.             txtInp.setAttribute('type', 'text');
  4.             txtInp.setAttribute('name', "CampoaSumar");
  5.         txtInp.setAttribute('id', 'cantidad');
  6.         txtInp.setAttribute('onblur', "sumacampos();");
  7.             txtInp.setAttribute('size', '6');
  8.             cell2.appendChild(txtInp);
  9.      
  10.                     var cell3 = row.insertCell(2);
  11.             var txtInp = document.createElement('input');
  12.                     txtInp.type = 'text'; // 6
  13.                     txtInp.name = 'CampoaSumar'; // 6
  14.             txtInp.setAttribute('id', 'precio');
  15.             txtInp.setAttribute('onblur', "sumacampos();");
  16.                     txtInp.size = 7;
  17.                     txtInp.onkeyup = function(){addHiddenNeto(this.value)}
  18.                     txtInp.onfocus = function(){setHiddenNeto(this.value)}
  19.                     cell3.appendChild(txtInp);
  20.      
  21.                     var cell4 = row.insertCell(3);
  22.             var txtInp = document.createElement('input');
  23.             txtInp.setAttribute('type', 'text');
  24.             txtInp.setAttribute('name', "total");
  25.         txtInp.setAttribute('id', "total");
  26.             txtInp.setAttribute('size', '5');
  27.             cell4.appendChild(txtInp);

y en la tabla colocas algo como esto de abajo y te queda funcionando como tu lo quieres lo que pasa es que no te va a cargar desde el primer items sino desde el segundo estoy mirando como solucionarlo por que no me da espero y te sirva de algo jejeje te lo iba a dejar todo pero dice que es muy largo para colocarlo soy nuevo en este foro....es que se vio interesante hacerlo

Código HTML:
Ver original
  1. <tr>
  2.         <th>ARTICULO</th><th>CANTIDAD</th><th>PRECIO</th><th>TOTAL</th><th>BORRAR</th><th>AGREGAR</th>
  3.      
  4.       </tr>
  5.      
  6.     </table>
  7. <table style=' color:blue ' id="tbl1" align="center">
  8. <tr>
  9. <th>Total Cantidad: <label id="MiLabelTOTAL" >0</label></th>
  10. <td><th>Total: <label id="labelTOTAL" >0</label></th></td>
  11. </tr>
  12. <tr>
  13. </tr>