Foros del Web » Programando para Internet » Javascript »

checkbox que sumen precio

Estas en el tema de checkbox que sumen precio en el foro de Javascript en Foros del Web. hola a todos, me podrias decir como puedo hacer, para que al marcar checkbox, te sumen un precio, tengo lo siguiente. Pero esto me suma ...
  #1 (permalink)  
Antiguo 10/01/2007, 10:34
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 6 meses
Puntos: 0
checkbox que sumen precio

hola a todos, me podrias decir como puedo hacer, para que al marcar checkbox, te sumen un precio, tengo lo siguiente. Pero esto me suma porque todos tienen un precio de 30, pero como se podria hacer si cada uno tien un valor


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Sumador de checkboxes </title>
<style>
td { width:100px; text-align:center; }
</style>
</head>

<body>


<table>
<tr>
<th>Uno</th>
<th>Dos</th>
<th>Tres</th>
<th>Cuatro</th>
<th>Cinco</th>
</tr>
<tr>
<td><input type="checkbox" name="ch_1_1" /></td>
<td><input type="checkbox" name="ch_1_2" /></td>
<td><input type="checkbox" name="ch_1_3" /></td>
<td><input type="checkbox" name="ch_1_4" /></td>
<td><input type="checkbox" name="ch_1_5" /></td>
<td><input type="button" value="Cuantos?" onclick="cuanto(1)"></td>
<td><input type="text" value="0" name="caja_1" /></td>
</tr>
<tr>
<td><input type="checkbox" name="ch_2_1" /></td>
<td><input type="checkbox" name="ch_2_2" /></td>
<td><input type="checkbox" name="ch_2_3" /></td>
<td><input type="checkbox" name="ch_2_4" /></td>
<td><input type="checkbox" name="ch_2_5" /></td>
<td><input type="button" value="Cuantos?" onclick="cuanto(2)"></td>
<td><input type="text" value="0" name="caja_2" /></td>
</tr>
<tr>
<td><input type="checkbox" name="ch_3_1" /></td>
<td><input type="checkbox" name="ch_3_2" /></td>
<td><input type="checkbox" name="ch_3_3" /></td>
<td><input type="checkbox" name="ch_3_4" /></td>
<td><input type="checkbox" name="ch_3_5" /></td>
<td><input type="button" value="Cuantos?" onclick="cuanto(3)"></td>
<td><input type="text" value="0" name="caja_3" /></td>
</tr>

</table>


<script>

var cuantosPorFila=5;
var precioPorUnidad=30;
function cuanto(fila) {
var precioTotal=0;
for(var i=1; i<=5; i++) {
var elem=document.getElementsByName("ch_"+fila+"_"+i)[0];
if(elem.checked) precioTotal+=precioPorUnidad;
}
document.getElementsByName("caja_"+fila)[0].value=precioTotal;
}

</script>


</body>
</html>
  #2 (permalink)  
Antiguo 10/01/2007, 10:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: checkbox que sumen precio

Hola:

A los checkboxes puedes ponerles un campo value... por ejemplo con el precio... y al hacer el sumatorio, en vez de añadir 30, añadir el value del checkbox...

<td><input type="checkbox" name="ch_1_1" value="30" /></td>
<td><input type="checkbox" name="ch_1_2" value="25" /></td>
<td><input type="checkbox" name="ch_1_3" value="15" /></td>
<td><input type="checkbox" name="ch_1_4" value="35" /></td>
...

function cuanto(fila) {
var precioTotal=0;
for(var i=1; i<=5; i++) {
var elem=document.getElementsByName("ch_"+fila+"_"+i)[0];
if(elem.checked) precioTotal+=parseInt(elem.value);
}
document.getElementsByName("caja_"+fila)[0].value=precioTotal;
}

Si mal no recuerdo explorer no procesana bien los atributos name con document.getElementByName()... de todos modos, dinos si te vale.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/01/2007, 02:09
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: checkbox que sumen precio

Muchas gracias, de momento me va bien, no me dado ningún problema en el explorer. Espero que siga así.
Una pregunta como puedo sumar varios input?
Tengo esto;
<input type="text" name="subP1" size="6" readonly>
<input type="text" name="subP2" size="6" readonly>
<input type="text" name="subP3" size="6" readonly>

<input type="button" value="Calcular" onclick="calculaPrecio1()"/>

<input type="text" name="Total" size="6" readonly>


Y al pulsar el botón en total me aperezca la suma de los input, con comas y todo.

Gracias otra vez
  #4 (permalink)  
Antiguo 12/01/2007, 04:09
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: checkbox que sumen precio

Hola chikitika

Prueba poniendo así el botón:

<input type="button" value="Calcular" onclick="calculaPrecio1(this.form)"/>

y utilizando este código:

Código:
function calculaPrecio1(frm) {
  tot = parseFloat(frm.subP1.value) + parseFloat(frm.subP2.value) + parseFloat(frm.subP3.value);
  frm.Total.value = tot;
}
Saludos,
  #5 (permalink)  
Antiguo 12/01/2007, 04:26
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: checkbox que sumen precio

Me da error me dice que el objeto no acepta la propiedad o método. ?¿?¿
  #6 (permalink)  
Antiguo 12/01/2007, 04:43
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: checkbox que sumen precio

Hola de nuevo.

Aquí tienes un ejemplo completo, para que pruebes:

Código PHP:
<html>
<
head>
</
head>
<
script type="text/javascript">
function 
calculaPrecio1(frm) {
  
tot parseFloat(frm.subP1.value) + parseFloat(frm.subP2.value) + parseFloat(frm.subP3.value);
  
frm.Total.value tot;
}
</script>
<body>
<form>
<input type="text" name="subP1" value="5.5" size="6" readonly>
<input type="text" name="subP2" value="6.5" size="6" readonly>
<input type="text" name="subP3" value="7.3" size="6" readonly>
<input type="button" value="Calcular" onclick="calculaPrecio1(this.form)"/>
<input type="text" name="Total" size="6" readonly>
</form>
</body>
</html> 
Saludos,
  #7 (permalink)  
Antiguo 12/01/2007, 04:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: checkbox que sumen precio

Gracias de nuevo, pero no me funciona, loque me has mandado si. Pero lo pruebo en el mio y nada. Puede que sea porque tu ejemplo pones el value, pero el que tengo yo lo pone una función, no tengo value.

Que lio
  #8 (permalink)  
Antiguo 12/01/2007, 05:54
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: checkbox que sumen precio

Mmmm, ¿este hilo no debería ser seguido de este, chikitika? No creo que sean temas diferentes.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #9 (permalink)  
Antiguo 12/01/2007, 06:01
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: checkbox que sumen precio

he hecho pruebas y me va lo de parseFloat pero si tengo un entero como 100 no lo coge. Hay alguna función que coja tanto entero como decimal.?¿?
  #10 (permalink)  
Antiguo 12/01/2007, 06:10
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: checkbox que sumen precio

Ya lo he conseguido. Gracias. tenia errores y por eso me daba falló.

Derkenuke, lo he puesto en otro sitio porque creia que sería temas diferentes, yo no controlo mucho. Para la próxima ya lo se.

Graciassssss
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 08:30.