Foros del Web » Programando para Internet » Javascript »

Suma y resta cuando modifico

Estas en el tema de Suma y resta cuando modifico en el foro de Javascript en Foros del Web. Hola que tal compañeros, a la hora de insertar en mi base de datos los checkbox lo hago perfectamente y utilizo esta funcion para que ...
  #1 (permalink)  
Antiguo 08/07/2011, 01:05
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Pregunta Suma y resta cuando modifico

Hola que tal compañeros,

a la hora de insertar en mi base de datos los checkbox lo hago perfectamente
y utilizo esta funcion para que me vaya sumando una cantidad por cada checkbox checkado:

Código Javascript:
Ver original
  1. <script>
  2. var total=0;
  3. function sumar(valor) {
  4. total += valor;
  5. document.formulario.total.value=total;
  6. }
  7. function restar(valor) {
  8. total-=valor;
  9. document.formulario.total.value=total;
  10. }
  11. </script>



pero a la hora de cargarlos en un formulario para editarlos, simplemente no me da porque me empieza la suma desde 0, ahora modifique ese script asi pero no me corre, alguna idea o modificacion??

Código Javascript:
Ver original
  1. <script>
  2. var total = document.getElementById("total").value;
  3. function comprobarChecks()
  4. {
  5. var checks = document.getElementsByTagName("input"); //recojo todos los input
  6. for(i=0;i<checks.length;i++)
  7. {
  8. if(checks[i].type=="checkbox") //solo contemplo los de tipo checkbox
  9. {
  10. if(checks[i].checked) //si esta checkado agrego a total su valor
  11. function sumar(valor) {
  12. total += valor;
  13. document.formulario.total.value=total;
  14. }
  15. function restar(valor) {
  16. total-=valor;
  17. document.formulario.total.value=total;
  18. }
  19. }
  20. }
  21. }
  22. </script>
  #2 (permalink)  
Antiguo 08/07/2011, 03:57
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: Suma y resta cuando modifico

hola totti,

no te va porque las últimas tres llaves corresponden a la funcion comprobarChecks()...
pruebas asi:
---------------
<script type="text/javascript">
var total = document.getElementById("total").value;
function comprobarChecks()
{
var checks = document.getElementsByTagName("input"); //recojo todos los input
for(i=0;i<checks.length;i++)
{
if(checks[i].type=="checkbox") //solo contemplo los de tipo checkbox
{
if(checks[i].checked) //si esta checkado agrego a total su valor
}
}
}
function sumar(valor)
{
total += valor;
document.formulario.total.value=total;
}
function restar(valor)
{
total-=valor;
document.formulario.total.value=total;
}
-------------------
Recuerda que en cualquier lenguaje de programación todo lo que se abre debe cerrarse a su debido momento... ;)

saludos.
  #3 (permalink)  
Antiguo 08/07/2011, 04:01
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: Suma y resta cuando modifico

...y ahora que me estoy fijando, en ningún momento llamas a las funciones sumar y restar. Deduzco que cuando el check está marcado debería de llamar a la función sumar, y si no está marcado a la funcion restar, no? lo que tiene que ir dentor de tu FOR sería esto:
.....
if(checks[i].type=="checkbox") //solo contemplo los de tipo checkbox
{
if(checks[i].checked) //si esta checkado agrego a total su valor
sumar(checks([i].value);
}
else
restar(checks[i].value);
......
  #4 (permalink)  
Antiguo 08/07/2011, 11:51
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Respuesta: Suma y resta cuando modifico

Hola ceSharp muchas gracias por tu orientacion
pues mira en cada checkbox tengo esto:

<input name="checkbox1" id="checkbox1" type="checkbox" <?php echo $check1 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)">


y asi 11 checkbox mas que al final si estan todos checkados me da un total de "100"

pero si no los guarde checkados todos como por eljemplo la mitad me da un total de "60" pero cuando quiero ir checkeando los demas me deberia de ir sumando o restando en su caso el valor de cada checkbox.

espero explicarme.

Gracias por tu ayuda!!!

Etiquetas: checkbox, resta, suma, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:15.