Tengo una pantalla que va registrando distintos articulos segun se van escaneando, en caso de que necesite remover uno de los articulos escaneados tengo la funcion "eliminar" y funciona bien, siempre y cuando el articulo que elimine sea el primero escaneado, pero si necesito borrar otro articulo escaneado mas abajo no me funciona, ya que el valor que "resta" del total es el primer valor escaneado. Necesito poder establecer en la funcion que al remover un articulo este RESTE el valor de de ese nodo, no del primero.
Aqui esta la funcion:
Código:
Necesito que:function eliminar() { var parent = this.parentNode; var grandParent = parent.parentNode; var valorAdeducir = document.getElementById('IdF').innerHTML; var restar = (flete -= valorAdeducir); grandParent.removeChild(parent); document.getElementById('resFlete').value = restar.toFixed(2); alert(valorAdeducir); }
Código:
por lo que seria el equivalente de:var valorAdeducir = document.getElementById('IdF').innerHTML;
Código:
Pueden ver la pagina funcionando aquivar valorAdeducir = EsteNodo document.getElementById('IdF').innerHTML;
Para probar lo que digo copien y peguen el primer codigo, y luego el segundo, entonces procedan a eliminar el ultimo articulo y veran que resta el valor del primero.
Por si acaso, la funcion que crea el div y envia el valor del articulo es esta:
Código:
if (Peso >= 1){ importe = Peso * tarifa6 * Tasa; flete += importe; document.getElementById('resFlete').value = flete.toFixed(2); var f = document.createElement("div"); f.id = "IdF"; f.innerHTML = (importe.toFixed(2)); f.className = "classImporte"; cont.appendChild(f); var del = document.createElement("img"); //creo el div para eliminar del.src = "images/eliminar.gif"; del.onclick = eliminar; cont.appendChild(del); } else { // no ha ingresado ningun valor }
El codigo completo de la pagina pueden verlo aqui.
Ayudenme con esto por favor.
Gracias!