Foros del Web » Programando para Internet » Javascript »

Seleccionar Lista de Checkbox

Estas en el tema de Seleccionar Lista de Checkbox en el foro de Javascript en Foros del Web. Saludos a todos: Tengo un pequeño inconveniente, he estado buscando aquí en los foros y a pesar de que muchos lo han preguntado no doy ...
  #1 (permalink)  
Antiguo 02/08/2006, 15:39
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Seleccionar Lista de Checkbox

Saludos a todos:

Tengo un pequeño inconveniente, he estado buscando aquí en los foros y a pesar de que muchos lo han preguntado no doy con la respuesta.

Mi problema es el siguiente:
Tengo un formulario con dos grupos de checkbox (ambos sacados dinamicamente con su respectiva consulta a la BD), todo bien hasta aquí.

Quise ponerle otro checkbox a cada grupo de "checkboxes" para que al darle click se seleccionen todos, el problema es que efectivamente se seleccionan todos los checkbox (del grupo 1 y grupo 2) y obviamente solo quiero que me seleccione los de cada grupo.

Así tengo mis input.

Código:
<input type="checkbox" name="aves[]" value="<?php echo $consulta['id_ave']; ?>" />
......
<input type="checkbox" name="gatos[]" value="<?php echo $consulta2['id_gato']; ?>" />
Espero que alguien me pueda echar la mano.
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #2 (permalink)  
Antiguo 03/08/2006, 10:40
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Por fin pude hacerlo, dejo mi solución por si alguien más lo necesita.

Código:
function CheckFSEs(chkbox){
chkbox = document.forms["form1"].elements[chkbox];
for(var n=0;n<chkbox.length;n++){
	if (document.form1.afse.checked == true) {
		chkbox[n].checked=true;
	} else {
		chkbox[n].checked=false;
		}
	}
}
function CheckPPALs(chkbox){
chkbox = document.forms["form1"].elements[chkbox];
for(var n=0;n<chkbox.length;n++){
	if (document.form1.appal.checked == true) {
		chkbox[n].checked=true;
	} else {
		chkbox[n].checked=false;
		}
	}
}
Código:
<input type="checkbox" name="afse" value="" onclick="CheckFSEs('fse[]')" />
...
<input type="checkbox" name="fse[]" value="<?php echo $row_consulta['id_consulta']; ?>"/>


<input type="checkbox" name="appal" value="" onclick="CheckPPALs('ppal[]')" />
...
<input type="checkbox" name="ppal[]" value="<?php echo $row_consulta2['consulta2']; ?>" />
Salu2
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 03/08/2006, 10:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Bueno, aunque tarde, voy a darte una ayudita.

Puedes simplificar un poco estas líneas:
for(var n=0;n<chkbox.length;n++)
chkbox[n].checked = document.forms.form1.afse.checked;

Los valores booleanos puedes asignarlos directamente.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 03/08/2006, 13:57
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Gracias por tu respuesta caricatos.

Quise implementar tu aportación porque me pareció muy adecuado simplificar el script, pero por alguna extraña razón no me funciona, he estado intentando y nada, de todas maneras gracias

Salu2
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #5 (permalink)  
Antiguo 04/08/2006, 01:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
No me lo puedo creer:

Solo editar el código que te vale:

function CheckFSEs(chkbox){
chkbox = document.forms["form1"].elements[chkbox];
for(var n=0;n<chkbox.length;n++)
chkbox[n].checked = document.form1.afse.checked;
}

function CheckPPALs(chkbox){
chkbox = document.forms["form1"].elements[chkbox];
for(var n=0;n<chkbox.length;n++)
chkbox[n].checked = document.form1.appal.checked;
}

La idea es en vez de programar así:
si esto es cierto
a_esto_otro le asigno cierto
sino
a_esto_otro le asigno falso

poner algo así:
a_esto_otro le asigo esto

Si te ha funcionado lo que pusiste, las funciones que puse adelante, con las simplificaciones, sin duda tienen que funcionar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 07/08/2006, 11:33
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Que tal:

No recuerdo por qué no me funcionaba, o qué cosa estaba haciendo mal, pero muchas gracias, quedó perfecto

Salu2.
__________________
TolerantX
http://tolerantx.com
Linux User #385226
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 23:17.