Cita:
Iniciado por Comercial Hola otra vez Naahuel,
Ahora tengo otro problemilla, si marco / desmarco los checkbox la cantidad se suma o se resta correctamente, al elegir una opción de la lista también lo suma pero si la cambio por otra la vuelve a sumar sobre la anterior, en ningún caso resta.
Cómo podría evitar que si me muevo varias veces por la lista no haga solo suma sino actualice el valor según lo elegido.
Muchas gracias otra vez.
Eso es lo que te había dicho en el mensaje anterior (en el edit).
Podés hacer otra funcion para el select, almacenando los valores anteriores en una variable auxiliar. Algo así:
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script type="text/javascript"> function Suma(isChecked, valor){
if (isChecked) {
siniva2 = (parseFloat(document.sumar2.totalsiniva2.value) + parseFloat(valor)).toFixed(2);
} else {
siniva2 = (parseFloat(document.sumar2.totalsiniva2.value) - parseFloat(valor)).toFixed(2);
}
document.sumar2.totalsiniva2.value = siniva2;
document.sumar2.total2.value = siniva2;
}
//almaceno el valor original en una variable para saber qué tenía antes.
var valor_viejo = 0;
function SumaSelect(valor){
siniva2 = (parseFloat(document.sumar2.totalsiniva2.value) + parseFloat(valor) - valor_viejo).toFixed(2);
document.sumar2.totalsiniva2.value = siniva2;
document.sumar2.total2.value = siniva2;
valor_viejo = valor;
}
<form name="sumar2" method="post" id="sumar2"> <label for="FOR">Pack
</label> <select name="NAME" id="ID" onchange="SumaSelect(this.value)"> <option selected="selected" value="0"> Selecciona un Pack
Pack Uno
Pack Dos
Super Pack U
<input type="checkbox" value="1.00" id="Prod2" name="Prod2" onclick="Suma(this.checked,this.value)">1.00 ¬
Super Pack D
<input type="checkbox" value="2.00" id="Prod3" name="Prod3" onclick="Suma(this.checked,this.value)">2.00 ¬
Super Pack T
<input type="checkbox" value="3.00" id="Prod4" name="Prod4" onclick="Suma(this.checked,this.value)">3.00 ¬
Super Pack C
<input type="checkbox" value="4.00" id="Prod5" name="Prod5" onclick="Suma(this.checked,this.value)">4.00 ¬
Super Pack C
<input type="checkbox" value="5.00" id="Prod6" name="Prod6" onclick="Suma(this.checked,this.value)">5.00 ¬
</p><input type="hidden" value="0.00" id="totalsiniva2" name="totalsiniva2"> <b><font color="#999999">Total
</font></b> <input type="text" id="total2" name="total2" value="0" disabled> ¬