Ver Mensaje Individual
  #8 (permalink)  
Antiguo 23/07/2015, 12:50
pandora09
 
Fecha de Ingreso: julio-2015
Mensajes: 16
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Al ejecutar RemoveChild restar valor al total

Alexis88,

Emplee tu código pero no me hace nada estoy segura de que el problema esta en que no lo entiendo y por ende no lo puedo aplicar correctamente ya que mi nivel de js como puedes ver es algo bajo.

Por otro lado, he estado tratando y tratando y ya consigo que me reste pero solo resta de manera efectiva cuando tengo un solo producto agregado devolviendome como resultado "0,00" en cambio cuando tengo dos o mas me devuelve el valor NaN en el campo total. Si me pueden ayudar por favor a ver en donde me estoy equivocando se los agradecería muchísimo.

Hasta ahora llevo esto para restar al eliminar dicha fila

Código Javascript:
Ver original
  1. campo5.onclick = function() {
  2.        
  3.             var fila = this.parentNode.parentNode;
  4.             var tbody = tabla.getElementsByTagName("tbody")[0];
  5.             var total = document.getElementById("total");
  6.             if (total.innerHTML == 'NaN') {
  7.             total.innerHTML = 0;
  8.             }
  9.             total.innerHTML = (Number(total.innerHTML)-Number(totalitem.value)).toFixed(2);
  10.  
  11.  
  12.             tbody.removeChild(fila);
  13.  
  14.             }

Y como comentabas efectivamente el valor del campo totalitem lo traigo desde acá cuando calculo el subtotal (cantidad*precio):

Código Javascript:
Ver original
  1. function Calcular(ele) {
  2. var cantidad = 0, precunit = 0, totalitem = 0;
  3. var tr = ele.parentNode.parentNode;
  4. var nodes = tr.childNodes;
  5. for (var x = 0; x<nodes.length;x++) {
  6. if (nodes[x].firstChild.name == 'cantidad[]') {
  7. cantidad = parseFloat(nodes[x].firstChild.value,10);
  8. }
  9. if (nodes[x].firstChild.name == 'preciounit[]') {
  10. preciounit = parseFloat(nodes[x].firstChild.value,10);
  11. }
  12. if (nodes[x].firstChild.name == 'totalitem[]') {
  13. totalitem = parseFloat(preciounit*cantidad).toFixed(2);
  14. nodes[x].firstChild.value = totalitem;
  15. }
  16. }
  17. var total = document.getElementById("total");
  18. if (total.innerHTML == 'NaN') {
  19. total.innerHTML = 0;
  20. }
  21. total.innerHTML = (Number(total.innerHTML)+Number(totalitem)).toFixed(2);
  22. }