Foros del Web » Programando para Internet » Javascript »

Sumar valores de checkbox mostrados de una tabla

Estas en el tema de Sumar valores de checkbox mostrados de una tabla en el foro de Javascript en Foros del Web. Hola buenos dias a todos, tengo un ligero problema, ya llevo intentando solucionarlo yo solo un par de semanas haciendo pruebas, pero no avanzo sigo ...
  #1 (permalink)  
Antiguo 12/08/2013, 01:50
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Sumar valores de checkbox mostrados de una tabla

Hola buenos dias a todos, tengo un ligero problema, ya llevo intentando solucionarlo yo solo un par de semanas haciendo pruebas, pero no avanzo sigo igual de estancado que el primer dia...

El problema es el siguiente:

Estoy intentando hacer un "carrito de la compra" por decirlo de alguna manera aunque no es asi, lo que intento hacer es mostrar una tabla de una base de datos con php, hasta hay bien, y luego que los usuarios puedan seleccionar los registros mediante checkbox hasta ai ningun tipo de problema, el problema me surje cuando cada registo de la tabla que muestro tiene un valor distinto, y quiero que los sume los checkbox seleccionados y si se pasa del precio que no le deje continuar y si no tiene nada seleecionado pues que tampoco le deje continuar.
Y esque el value del checkbox, es el nombre del articulo que compra y el precio es un campo que no muestro en el checkbox pero que quiero calcular para seguir avanzando en la compra o que se pare.... no se si me ais entendido bien...

el codigo que tengo es este:


Este es el codigo javascript, se que no es el correcto porque este solo hace sumar los checkbox seleccionados y hacer una renstriccion...

Código HTML:
<script language="javascript">
function valida_envia(){

 contador=0; 
    Form = document.forms["compra"] 
    for(i = 0; i < Form.elements.length; i++) 
        if(Form.elements[i].type == "checkbox") 
            if(Form.elements[i].checked) 
                contador++ 
    if(contador==0) 
		{
        alert('Marque una opción.');  
		return (false);
		} 
		
		
		 if(contador>135) 
		{
		
		if(confirm("Demasiados articulos seleccionados."))
		{
         
		return (false);
		} 
 		else
		{
 		return (false); 
		} 
		
		} 
		
			
} 
--> 
</script> 

y este es el formulario


Código HTML:
<form name="compra" action="contacto1.php" method="get" onsubmit="return valida_envia()"> 
		
<? 

$resultados=mysql_query("SELECT * from fruteria ORDER BY fecha");
				
$contador = 1; 
while($registro=mysql_fetch_array($resultados)){ 
 if ($contador > 8) { 
?> <center> <? echo "</tr><tr>"; ?> </center><?
  $contador = 1; 
 } 
?> 
<td>
<img  src="imagenes<? echo $registro['nombre'] ?>.jpg" width="106" height="141" alt="<? echo $registro['nombre'] ?>" title="<? echo $registro['nombre'] ?>" />
<input type="checkbox" name="frutas[]" value="<? echo $registro['nombre'];?>" />

</td>
</td> 
<? 
 $contador++; 
} 
?>	

<input name="submit" style="position:fixed;top:0px;right:0px;" type="submit" onclick= "valida_envia()" value="COMPRAR";/>
</form> 
Gracias de ante mano por vuestro tiempo.

Un saludo.
  #2 (permalink)  
Antiguo 15/08/2013, 09:11
Avatar de iukaeru  
Fecha de Ingreso: mayo-2012
Mensajes: 127
Antigüedad: 12 años
Puntos: 12
Respuesta: Sumar valores de checkbox mostrados de una tabla

Juega con esto y creo te servirá:

<html>
<head>
<script>
var iltotal = 0;
function zuma(cual)
{
f = cual.form;
n = cual.name;
for (var i = 0, nombres = f[n] , total = nombres.length; i < total; i++)
if (f[n][i] == cual && f[n][i].checked)
var b = f[n][i].value = f.chb[i].value;

if (String(b) == "undefined")
{
b = 0;
}

iltotal = iltotal + parseInt(b);

document.getElementById("can").value = String(iltotal);
}
</script>
</head>
<body>
<form>
2000<input type="checkbox" name="chb" id="chb" value="2000" onclick="zuma(this);"/><br />
3000<input type="checkbox" name="chb" id="chb" value="3000" onclick="zuma(this);"/><br />
1000<input type="checkbox" name="chb" id="chb" value="1000" onclick="zuma(this);"/><br />
<input type="text" name="can" id="can" value="">
</form>
</body>
</html>

Etiquetas: checkbox, formulario, input, php, select, tabla
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 09:58.