Foros del Web » Programando para Internet » Javascript »

Checkbox, seleccionar todos

Estas en el tema de Checkbox, seleccionar todos en el foro de Javascript en Foros del Web. Hola, tengo un formulario con varios checkbox, en donde el name de los checkbox es <input name='image_file".$cont."' type='checkbox' value='$imagen'> donde $cont = 0 y se ...
  #1 (permalink)  
Antiguo 14/07/2006, 09:20
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
Checkbox, seleccionar todos

Hola, tengo un formulario con varios checkbox, en donde el name de los checkbox
es
<input name='image_file".$cont."' type='checkbox' value='$imagen'>

donde $cont = 0 y se va incrementando de a 1.
por lo tanto el nombre de los checkboxs va variando.


Yo necesito un boton Seleccionar todos los checkbox, y para eso utilizo esta
funcion


<script>
function marcar(nombre){
todos= document.forms[0];
for (x=0;x<todos.length;x++){
if(todos[nombre+'['+x+']']){
todos[nombre+'['+x+']'].checked=true;
}
}
}
</script>


<tr>
<td ><input type="checkbox" onClick="marcar('image_file')" >Marcar todo</td>
</tr>


no entiendo porque no me funciona???? si llamo a la funcion marcar, y le paso
como argumento el image_file que es el nombre de los checkboxs?

o el problema es que los nombres de los checkbox son image_file0, image_file1 ????


saludos...
  #2 (permalink)  
Antiguo 14/07/2006, 09:41
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
probá así:
Cita:
<script>
function marcar(nombre){
todos= document.forms[0];
for (x=0;x<todos.length;x++){
if(todos[nombre+x]){
todos[nombre+x].checked=true;
}
}
}
</script>
__________________
by Capitán Buscapina
.
  #3 (permalink)  
Antiguo 14/07/2006, 10:01
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
checkbox, seleccionar todos

exelente, buscapina.... funciona barbaro...
Mil gracias


pero me explicas que hace el if de la funcion, que no logro entenderla??

<script>
function marcar(nombre){
todos= document.forms[0];
for (x=0;x<todos.length;x++){
if(todos[nombre+x]){
todos[nombre+x].checked=true;
}
}
}
</script>
  #4 (permalink)  
Antiguo 14/07/2006, 17:05
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
Cita:
Iniciado por amontagnaro
pero me explicas que hace el if de la funcion, que no logro entenderla??
Cada vez que el bucle itera (en mi idioma sería : cada vez que el for gira) el if en cuestion averigua si el elemento existe, por lo que para el primer giro del for , el if preguntaría : "existe el elemento del formulario con el nombre image_file0 ", si exite, lo marca y si no no hace nada.

así preguntaría si exite image_file1, luego image_file2 , y así hasta que el bucle itere la cantidad de veces como elementos tenga el formulario (pueden ser solo los checkbox en cuestión , o muchos elementos mas).


espero no haberte complicado mas las cosas, y si no, me preguntas de nuevo.
__________________
by Capitán Buscapina
.
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 06:35.