Foros del Web » Programando para Internet » Javascript »

Sumar valor a medida que se clickean checkbox

Estas en el tema de Sumar valor a medida que se clickean checkbox en el foro de Javascript en Foros del Web. Colegas, necesito desarrollar un codigo que cumpla con el siguiente funcionamiento: A medida que voy tildando los checkbox me vaya sumando un valor a la ...
  #1 (permalink)  
Antiguo 14/01/2010, 14:11
 
Fecha de Ingreso: marzo-2009
Mensajes: 17
Antigüedad: 15 años, 1 mes
Puntos: 0
Sumar valor a medida que se clickean checkbox

Colegas, necesito desarrollar un codigo que cumpla con el siguiente funcionamiento:

A medida que voy tildando los checkbox me vaya sumando un valor a la variable $precio_total.

Asi está armado mi html

Código HTML:
<ul>
	<?php
    $sql="SELECT * FROM excursiones";
    $result=mysql_query($sql);
    while($row=mysql_fetch_array($result)){
    ?>
    <li><?php echo $row['excursion'];?> <input type="checkbox" name="<?php echo 'exc'.$row['id_exc'];?>" /></li>
    <?php }?>
</ul>
Precio: <input type="text" name="precio" value="<?php echo $precio_total;?>" />

<!--QUEDARIA ASI-->

<ul>
    <li>Cabalgata <input type="checkbox" name="exc1" /></li>
    <li>Paseo en bote <input type="checkbox" name="exc2" /></li>
    <li>Ski <input type="checkbox" name="exc3" /></li>
</ul>
Precio: <input type="text" name="precio" value="<?php echo $precio_total;?>" /> 
Así como se trae el id y el nombre de la excursion tambien se trae el precio, tendría que ver donde meterlo para sumar.

El resultado final tendria q ser algo como esto:



Suponiendo que cada checkbox vale 40 dolares, cuando hice click en el primero, el precio total era de 40, cuando hice click en el 2do el precio total era de 80 y finalmente con los 3 tildados el precio total es de 120.

Se entiende??

Espero me puedan ayudar.

Gracias de antemano!

Saludosss!
  #2 (permalink)  
Antiguo 15/01/2010, 02:41
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Sumar valor a medida que se clickean checkbox

Quito el php,
Trabajo con enteros (100,50 --> 10050) para eliminar los problemas de redondeos...

Recuerda formatear precio antes de guardarlo en la bbdd.... 100,50 ---> 100.50

Quim


Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <script language="JavaScript" type="text/JavaScript">
  5. function suma(obj){
  6.   total=parseInt(document.getElementById("precio").value.replace(",",""));
  7.     if(obj.checked){
  8.         total+=parseInt(obj.value);
  9.     }else{
  10.         total-=parseInt(obj.value);
  11.     }
  12.     txttotal=total+"";
  13.     if (txttotal=="0") txttotal="000";
  14.     document.getElementById("precio").value=txttotal.substring(0,txttotal.length-2)+","+txttotal.substring(txttotal.length-2);
  15. }
  16. </head>
  17. <table width="50%" border="1" cellspacing="0" cellpadding="0">
  18.   <tr>
  19.     <td>Cabalgata&nbsp;</td>
  20.     <td>&nbsp;10,50€&nbsp;</td>
  21.     <td><input type="checkbox" name="exc1" id="exc1" value="1050" onChange="suma(this)"/></td>
  22.   </tr>
  23.   <tr>
  24.     <td>Paseo en bote&nbsp;</td>
  25.     <td>&nbsp;20,00€&nbsp;</td>
  26.     <td><input type="checkbox" name="exc2" id="exc2" value="2000" onChange="suma(this)"/></td>
  27.   </tr>
  28.   <tr>
  29.     <td>Ski&nbsp;</td>
  30.     <td>&nbsp;30,30€&nbsp;</td>
  31.     <td><input type="checkbox" name="exc3" id="exc3" value="3030" onChange="suma(this)"/></td>
  32.   </tr>
  33.   <tr>
  34.     <td>TOTAL:&nbsp;</td>
  35.     <td>&nbsp;&nbsp;</td>
  36.     <td><input type="text" name="precio" id="precio" value="0,00" /></td>
  37.   </tr>
  38. </body>
  39. </html>
  #3 (permalink)  
Antiguo 15/01/2010, 08:14
 
Fecha de Ingreso: marzo-2009
Mensajes: 17
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Sumar valor a medida que se clickean checkbox

Muchas gracias por tu respuesta!

Lo voy a probar

Saludos!

Etiquetas: checkbox
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:01.