Foros del Web » Programando para Internet » Javascript »

marcar checkbox con un cierto id

Estas en el tema de marcar checkbox con un cierto id en el foro de Javascript en Foros del Web. Hola a tod@s: Tengo un formulario generado en PHP que solo incluye ceckbox, este hace un bucle de unos datos y genera.. Código: <input type="checkbox" ...
  #1 (permalink)  
Antiguo 15/05/2005, 08:13
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 4 meses
Puntos: 0
marcar checkbox con un cierto id

Hola a tod@s:
Tengo un formulario generado en PHP que solo incluye ceckbox, este hace un bucle de unos datos y genera..
Código:
<input type="checkbox" name="checkbox[]"  value="'.$datos.'" >
cada numero deteminado del bucle (segun los datos) vuelbe a generar
Código:
<input type="checkbox" name="checkbox[]"  value="'.$datos.'"  >
lo que pretendo es poner en cada rotacion de los datos un checkbox que seleccionandolo marque el grupo de checkbox.
Para poder diferenciar los checkbox puedo añadir un id="loquesea".$i ya que no desearia cambiar el
name quedando...
Código:
<input type="checkbox" name="checkbox[]" id="'.$nombre.'" value="'.$datos.'">
Mi preguna es la que sigue
Tengo este escript que marca los checkbox (TODOS) y es de JavierB

Código:
<script type="text/javascript"> 
function ChequeaTodo(chk) { 
  for(i=0;ele=chk.form.elements[i];i++) 
    if(ele.type=='checkbox') 
      ele.checked=chk.checked; 
} 
</script>
Y lo llamo así desde un checkbox independiente.

onclick="ChequeaTodo(this)"
Creo que para marcar los seleccionados tengo que utilizar algo parecedo a..

getElementByID()

¿como puedo modificar el script para que solo me selecciones los checkbox con un id deteminado?

Disculpar mi ignorancia y gracias por vuestra paciencia.
Un Saludo
__________________
Hay tanto que aprender y tan poco tiempo
  #2 (permalink)  
Antiguo 15/05/2005, 20:59
 
Fecha de Ingreso: septiembre-2003
Ubicación: London
Mensajes: 162
Antigüedad: 20 años, 7 meses
Puntos: 0
Supongo que (no lo lei todo) eso esta en la condicion.

Cuando hace la pregunta para saber si tiene o no tiene que cambiarle el valor, ahi debes preguntarselo.

if(ele.type=='checkbox')

pasaria a ser:

if(ele.type=='checkbox' && ele.id=chk.id)

Hace mucho que no programo en JS asiq no recuerdo si se usaba el &&, el &, o el AND para hacer un AND, pero seguro que tu si te acuerdas =P
  #3 (permalink)  
Antiguo 16/05/2005, 06:50
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 4 meses
Puntos: 0
Gracias neowebmaster pero no me funciona , he probado de las dos maneras
if(ele.type=='checkbox' && ele.id=chk.id) y tambien
if(ele.type=='checkbox' & ele.id=chk.id)
Pero no, no me funciona.
Esperaré a ver si alguien me puede hechar una mano, de todas formas muchas gracias.
Un cordial saludo
__________________
Hay tanto que aprender y tan poco tiempo
  #4 (permalink)  
Antiguo 16/05/2005, 09:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
¿He oido mi nombre?

Prueba con esto:
Código:
function ChequeaTodo(chk) { 
  for(i=0;ele=chk.form.elements[i];i++) 
    if(ele.id.indexOf('loquesea') != -1) 
      ele.checked=chk.checked; 
}
Saludos,
  #5 (permalink)  
Antiguo 16/05/2005, 12:41
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 4 meses
Puntos: 0
Gracias JavierB efectivamente funciona, como puedes comprobar no se mucho de javascript.
Abusando de tu amabilidad me gustaria que me despejases una duda.
Me explico, lo que he hecho es lo que sigue

hago que se genere un script por cada grupo de checkbox

Código:
<script type="text/javascript"> 
function <? echo $dato.$a ?>(chk) { 
  for(i=0;ele=chk.form.elements[i];i++) 
   if(ele.id.indexOf('<? echo $dato ?>') != -1) 
      ele.checked=chk.checked; 
} 
</script>
la llamada a la funcion
Código:
<input type="checkbox" name="marca" onclick="'.$table.$a.'(this)">
el grupo de checkbox
Código:
<input type="checkbox" id="'.$tabla.'" name="checkbox[]" value="'.$datos.'" >

En primer lugar he de decir que he tenido que añadirle al nombre de la funcion un numero (el del bucle ), para que no fuese igual que el id, si no lo hacia así cascaba

Pero cuando los nombres del id son largos y casi iguales??
por ejemplo quedaria esto

Código:
function phplist_admin0(chk) { 
  for(i=0;ele=chk.form.elements[i];i++) 
   if(ele.id.indexOf('phplist_admin') != -1) 
      ele.checked=chk.checked; 
} 
</script>
la llamada a la funcion
Código:
<input type="checkbox" name="marca" onclick="phplist_admin0(this)">
el grupo de checkbox
Código:
<input type="checkbox" id="phplist_admin" name="checkbox[]" value="id-int-11-not_null primary_key auto_increment-boletin1-phplist_admin" >
me marca tambien
Código:
<input type="checkbox" id="phplist_admin_attribute" name="checkbox[]" value="adminattributeid-int-11-not_null primary_key-boletin1-phplist_admin_attribute" >
y
Código:
<input type="checkbox" id="phplist_admin_task" name="checkbox[]" value="adminid-int-11-not_null primary_key-boletin1-phplist_admin_task" >
Me da la impresion que es como si el javascript solo tomase parte del id en este caso phplist_admin ¿puede ser posible?
De todas formas para lo que yo lo queria me funciona el resto es simple y llanamente curiosidad por el lenguage
Un millon de gracias Un cordial saludo
__________________
Hay tanto que aprender y tan poco tiempo
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 21:25.