Foros del Web » Programando para Internet » Javascript »

Checkbox's

Estas en el tema de Checkbox's en el foro de Javascript en Foros del Web. Buenas, necesito que al tildar o destildar un checkbox, se tilden o destilden otros. Yo tengo un árbol jerárquico con 3 Ramas Principales (cada una ...
  #1 (permalink)  
Antiguo 07/12/2007, 10:17
 
Fecha de Ingreso: marzo-2006
Mensajes: 83
Antigüedad: 18 años, 1 mes
Puntos: 0
Checkbox's

Buenas, necesito que al tildar o destildar un checkbox, se tilden o destilden otros.

Yo tengo un árbol jerárquico con 3 Ramas Principales (cada una con un checkbox), dentro de cada una hay varios items (cada uno con su checkbox).
Yo necesito que al tildar o destildar el checkbox de alguna de las ramas principales se tilden o destilden automáticamente los checkbox pertenecientes a los items que contiene.

Aclaro que dicho árbol jerárquico es creado en tiempo de ejecución dependiendo de la cantidad de registros que traigan ciertas consultas a una BD.
Donde los nombres de los chexkbox de la primer rama terminan en PAG, los de la segunda en CTA y los de la tercera en PEN.

Ejemplo:

checkbox_1_PAG (Primer Rama Principal) Posee función en evento onclick
checkbox_2_PAG (Primer Item)
checkbox_3_PAG (Segundo Item)
checkbox_4_PAG (Tercero Item)

checkbox_5_CTA (Segunda Rama Principal) Posee función en evento onclick
checkbox_6_CTA (Primer Item)
checkbox_7_CTA (Segundo Item)
checkbox_8_CTA (Tercero Item)

checkbox_9_PEN (Tercer Rama Principal) Posee función en evento onclick
checkbox_10_PEN (Primer Item)
checkbox_11_PEN (Segundo Item)


Necesito saber como desarrollar las funciones de cada Rama principal para que actualice el estado de los checkbox correspondientes a sus items.

Desde ya muchas gracias

Saludos!
  #2 (permalink)  
Antiguo 07/12/2007, 10:27
 
Fecha de Ingreso: abril-2006
Mensajes: 75
Antigüedad: 18 años
Puntos: 0
Re: Checkbox's

mira a ver esto si te sirve
<html>
<head>
<script>
function comprueba(obj)
{
if(obj.checked)
{

var ele=document.getElementsByName("opcion");

for(i=0;i<ele.length;i++)
{

ele[i].checked=true;
}

}
else
{

var ele=document.getElementsByName("opcion");

for(i=0;i<ele.length;i++)
{
ele[i].checked=false;



}

}

}
</script>
</head>
<body>
<form>
1<input type="CHECKBOX" name="opcion" value="1" onclick="comprueba(this)">
2<input type="CHECKBOX" name="opcion" value="2" onclick="comprueba(this)">
3<input type="CHECKBOX" name="opcion" value="3" onclick="comprueba(this)">

General<input type="CHECKBOX" name="gral" value="all" onclick="comprueba(this)">




</form>
</body>
</html>
  #3 (permalink)  
Antiguo 07/12/2007, 10:38
 
Fecha de Ingreso: marzo-2006
Mensajes: 83
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Checkbox's

Muchas gracias Eduardo, ahora veo si a partir del ejemplo que me pasaste puedo armar lo que necesito.

Saludos!
  #4 (permalink)  
Antiguo 07/12/2007, 11:11
 
Fecha de Ingreso: marzo-2006
Mensajes: 83
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Checkbox's

Lo estuve probando y lo que me queda pendiente de resolver es lo siguiente:

Vos en tú código los 3 checkbox se llaman igual "opcion", en mi código se llamaría "opcion_1", "opcion_2" y "opcion_3"
Entonces Yo necesito saber como hago para en el siguiente for suplantar los números por la variable "i"

for(i=0;i<4;i++)
{
document.forms[0].opcion_1.checked = true;
}

En vez del 1 necesito poner la variable "i" como parte del nombre.

Desde ya mcuhas gracias!
  #5 (permalink)  
Antiguo 10/12/2007, 08:19
 
Fecha de Ingreso: marzo-2006
Mensajes: 83
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Checkbox's

Disculpen, alguien me podría dar una mano con este tema por favor.

Desde ya muchas gracias!

Saludos!
  #6 (permalink)  
Antiguo 10/12/2007, 13:20
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's

Hola NoChance

Código:
document.forms[0]['opcion_'+i].checked = true;
Saludos,
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 13:00.