Esas lineas son un ciclo, y esta haciendo la misma condición que hacias del checked==true, en todos los casilleros, si esta seleccionado se suma el precio si no, se suma 0, el total de casilleros es el total de precios. Asi optimices un poco.
Ahora solo hace falta agregarle la función onclick a los casilleros:
Código javascript
:
Ver original<script>
var preciototal=0;
var precios = {
1:4,
2:5.25,
3:7,
4:12.4,
5:15
}
function precio(){
preciototal = 0;
for(var j in precios){
var obj = document.menu['opcion'+j]
preciototal+= obj.checked ? precios[j]: 0;
}
document.getElementById("preciototalbox").value = preciototal;
}
function preciofinal(){
alert("El precio total es de "+preciototal+" euros")
}
(function(){
for(var j in precios){
var obj = document.menu['opcion'+j];
obj.onclick=precio
}
})()
</script>
El HTML:
Código HTML:
Ver original<input type="checkbox" name="opcion1" /> <input type="checkbox" name="opcion2" /> <input type="checkbox" name="opcion3" /> <input type="checkbox" name="opcion4" /> <input type="checkbox" name="opcion5" />
<input type="text" id="preciototalbox" value="0" />
<p><button onclick="preciofinal()">Click para precio final
</button></p>