Ver Mensaje Individual
  #10 (permalink)  
Antiguo 10/04/2010, 09:29
Avatar de America|UNK
America|UNK
 
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 18 años, 1 mes
Puntos: 56
Respuesta: Problema con concatenación

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
  1. <script>
  2. var preciototal=0;
  3. var precios = {
  4. 1:4,
  5. 2:5.25,
  6. 3:7,
  7. 4:12.4,
  8. 5:15
  9. }
  10.  
  11. function precio(){
  12.  preciototal = 0;
  13.  for(var j in precios){
  14.   var obj = document.menu['opcion'+j]
  15.   preciototal+= obj.checked ? precios[j]: 0;
  16.  }
  17.  document.getElementById("preciototalbox").value = preciototal;
  18. }
  19.  
  20. function preciofinal(){
  21. alert("El precio total es de "+preciototal+" euros")
  22. }
  23.  
  24. (function(){
  25.  for(var j in precios){
  26.   var obj = document.menu['opcion'+j];
  27.   obj.onclick=precio
  28.  }
  29. })()
  30.  
  31. </script>

El HTML:

Código HTML:
Ver original
  1. <form name="menu">
  2. <input type="checkbox" name="opcion1" />
  3. <input type="checkbox" name="opcion2" />
  4. <input type="checkbox" name="opcion3" />
  5. <input type="checkbox" name="opcion4" />
  6. <input type="checkbox" name="opcion5" />
  7. </form>
  8.  
  9. <input type="text" id="preciototalbox" value="0" />
  10.  
  11. <p><button onclick="preciofinal()">Click para precio final</button></p>
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */