Foros del Web » Programando para Internet » Javascript »

Seleccionar todos

Estas en el tema de Seleccionar todos en el foro de Javascript en Foros del Web. Saludos. Tengo una lista en un form de la siguiente manera: <input type="checkbox" name="ide[]" value="a"> <input type="checkbox" name="ide[]" value="b"> <input type="checkbox" name="ide[]" value="c"> <input type="checkbox" ...
  #1 (permalink)  
Antiguo 12/05/2003, 09:49
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 21 años, 6 meses
Puntos: 1
Pregunta Seleccionar todos

Saludos.

Tengo una lista en un form de la siguiente manera:

<input type="checkbox" name="ide[]" value="a">
<input type="checkbox" name="ide[]" value="b">
<input type="checkbox" name="ide[]" value="c">
<input type="checkbox" name="ide[]" value="d">
<input type="checkbox" name="ide[]" value="e">
<input type="checkbox" name="ide[]" value="f">

por qué los nombre ide[] ?????

Porque estos datos los paso a una página php que me hace un arreglo con esos input y termino guardando esos datos en una DB.


Ahora quiero agregar un nuevo CHECKBOX que me seleccione todos los otros check y que si ya están seleccionados, me los deseleccione.

Estoy usando el siguiente código:


<SCRIPT LANGUAGE="JavaScript">
<!-- Modified By: Steve Robison, Jr. ([email protected]) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return "Uncheck All"; }
else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return "Check All"; }
}
// End -->
</script>



<form name="name">

<input type="checkbox" name="SLT_ALL" value="Check All" onClick="this.value=check(this.form.ide)">


<input type="checkbox" name="ide[]" value="a">
<input type="checkbox" name="ide[]" value="b">
<input type="checkbox" name="ide[]" value="c">
<input type="checkbox" name="ide[]" value="d">
<input type="checkbox" name="ide[]" value="e">
<input type="checkbox" name="ide[]" value="f">

</form>




El problema es que no funciona, ya que el nombre de los campos no coincide con el que esta en onClick .... o por lo menos eso es lo que veo yo....


que me dicen ustedes??

Gracias
__________________
Aprender Siempre. Lema de Vida

José Molina
  #2 (permalink)  
Antiguo 12/05/2003, 11:26
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 5 meses
Puntos: 7
Joseisrael:

Cita:
El problema es que no funciona, ya que el nombre de los campos no coincide con el que esta en onClick .... o por lo menos eso es lo que veo yo....
Tienes razón. Para que funcione, los campos deben llamarse "ide".

Saludos.
  #3 (permalink)  
Antiguo 12/05/2003, 11:30
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 21 años, 6 meses
Puntos: 1
Saludos

Esa es la cosa, no puedo cambiarles los nombres, deben llamarse ide[] para que funcionen con las sentencias de PHP

La solución debe estar en el Javascript propiamente dicho

Gracias
__________________
Aprender Siempre. Lema de Vida

José Molina
  #4 (permalink)  
Antiguo 12/05/2003, 12:17
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 5 meses
Puntos: 7
Joseisrael:
Reemplaza la línea:

<input type="checkbox" name="SLT_ALL" value="Check All" onClick="this.value=check(this.form.ide)">

en tu script por esta otra:

Código:
<input type="checkbox" name="SLT_ALL" value="Check All"
onClick="this.value=check(document.getElementsByName('ide[]'))">
o por esta otra:

Código:
<input type="checkbox" name="SLT_ALL" value="Check All"
onClick="this.value=check(this.form['ide[]'])">
Probé ambas soluciones en IE6, Opera7 y NS7.

Saludos.

Última edición por Beakdan; 12/05/2003 a las 12:24
  #5 (permalink)  
Antiguo 12/05/2003, 12:24
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 5 meses
Puntos: 38
Elegante solución Beakdan.

  #6 (permalink)  
Antiguo 12/05/2003, 13:03
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 21 años, 6 meses
Puntos: 1
Saludos

Excelente Beakdan.

Funciona de maravilla.

Kaopectate sería útil colocar este tema en las FAQ, porque me visite las 9 páginas que tiene ahorita no había nada como esto.

Suerte y Gracias
__________________
Aprender Siempre. Lema de Vida

José Molina
  #7 (permalink)  
Antiguo 12/05/2003, 13:14
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 5 meses
Puntos: 38
Hola Jose Israel.

Coincido contigo en que el "Marcar todas" y "Desmarcar todas" es algo de uso común y por lo tanto un posible FAQ. Yo te invito a ti mismo a que lo coloques en los FAQs, siempre y cuando sigas el estilo que se viene llevando. Es muy sencillo por demás.

Lo único que yo no pondría es lo de los nombres con los corchetes ya que eso es una necesidad actual tuya y no algo que pase con frecuencia.

Si lo prefieres, yo puedo hacer el FAQ basado en tu código y con los créditos tuyos y de la página de donde proviene.

Saludos por Maracay (donde viví muchos años)
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 02:10.