Foros del Web » Programando para Internet » Javascript »

Marcar varios checkbox por categoria

Estas en el tema de Marcar varios checkbox por categoria en el foro de Javascript en Foros del Web. Hola. He leido varios post muy buenos sobre como marcar varios checkbox, pero no me sirve ninguno de ellos para lo que quiero. Estoy muy ...
  #1 (permalink)  
Antiguo 17/05/2012, 12:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 13 años, 11 meses
Puntos: 6
Marcar varios checkbox por categoria

Hola. He leido varios post muy buenos sobre como marcar varios checkbox, pero no me sirve ninguno de ellos para lo que quiero. Estoy muy verde en js y necesitaría ayuda por favor.

Quisiera que al darle al botón que pongo aquí abajo, marque por ejemplo todos aquellos checkboxes que contengan en el name o el id la cadena "hola" por ejemplo, ya que habrá uno con "hola1" otro check con "hola2", etc...

Me consta que hay al menos 2 genios que son Caricatos y JavierB que seguro lo solucionarían con los ojos cerrados.

<form name="f1" >

<input type="button" value="Marcar todos" onclick="marcar(this.parentNode,this)" />

<table width="850" cellspacing="1" >
<tr>
<tr>
<th width="80" height="50" scope="col" >Ref.</th>
<th width="50" scope="col" >Ver1</th>
<th width="50" scope="col" >Ver2</th>
<th width="50" scope="col" >Ver3</th>
<th width="50" scope="col" >Ver4</th>
</tr>

<tr>
<th scope="row">referencia</th>
<td align="center">loquesea</td>
<td align="center"><input name="pasa_poco1" id="pasa_poco1" type="checkbox" value="1" checked /></td>
<td align="center"><input name="pasa_hola1" id="pasa_hola1" type="checkbox" value="1" checked /></td>
<td align="center"><input name="pasa_toro1" id="pasa_toro1" type="checkbox" value="1" checked /></td>
<td align="center"><input name="pasa_tempo1" id="pasa_tempo1" type="checkbox" value="1" checked /></td>
</tr>

<tr>
<th scope="row">referencia</th>
<td align="center">loquesea2</td>
<td align="center"><input name="pasa_poco2" id="pasa_poco2" type="checkbox" value="1" checked /></td>
<td align="center"><input name="pasa_hola2" id="pasa_hola2" type="checkbox" value="1" checked /></td>
<td align="center"><input name="pasa_toro2" id="pasa_toro2" type="checkbox" value="1" checked /></td>
<td align="center"><input name="pasa_tempo2" id="pasa_tempo2" type="checkbox" value="1" checked /></td>
</tr>

<input type="button" name="enviar" id="enviar" value="Guardar cambios" />

</form>
  #2 (permalink)  
Antiguo 18/05/2012, 23:47
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Marcar varios checkbox por categoria

No entiendo una cosa... ¿todos tendrían el mismo id? El id debe ser único (viene de identificador). Para eso te sirve más el atributo class (puedes tener varios elementos con el mismo class y un elemento puede tener cero, uno o varios class). La función quedaría:
Código Javascript:
Ver original
  1. function marcar() {
  2.     [].forEach.call(document.getElementsByClassName('hola'), function(check) {
  3.         check.checked=true;
  4.     });
  5. }

No lo probé, pero estoy casi seguro de que funciona. ¡Suerte!
  #3 (permalink)  
Antiguo 19/05/2012, 01:12
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Marcar varios checkbox por categoria

@Joselito36

Estás preguntando las mismas cosas de difernete forma y en distintos posts,
http://www.forosdelweb.com/f13/como-...minado-993697/
Concentrá todo en uno solo
Además tratá de que tus códigos de ejemplo tengan cierta coherencia, si a todos tus checkbox les das el atributo checked, no habrá nada que marcar

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. var tags_inpt = new Array();
  4. function inpt() {
  5. tags_inpt=document.getElementsByTagName('input');
  6. var n = 0;
  7. var i;
  8. for (i=0; i<tags_inpt.length; i++) {
  9. // la segunda condición es la respuesta que ya te di en el otro post
  10. if ((tags_inpt[i].type=='checkbox')&&(tags_inpt[i].name.match(/hola/))){
  11. tags_inpt[i].checked = true;
  12. }
  13. }
  14. }
  15. //]]>
  16. </script>
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 19/05/2012, 04:00
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 1
Respuesta: Marcar varios checkbox por categoria

Tienes razón amigo. Te lo agradezco. No se como unir ambos post. En realidad si te fijas el tema es casi el mismo, pero son preguntas algo diferentes. No obstante tienes razón, mejor sería unirlos.


Te lo has currado, muchas gracias.

Saludos,
  #5 (permalink)  
Antiguo 19/05/2012, 04:30
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Marcar varios checkbox por categoria

Cita:
Iniciado por Piso Ver Mensaje
Tienes razón amigo. Te lo agradezco. No se como unir ambos post. En realidad si te fijas el tema es casi el mismo, pero son preguntas algo diferentes. No obstante tienes razón, mejor sería unirlos.


Te lo has currado, muchas gracias.

Saludos,
Como es la historia, @Piso, @Joselito36... o trabajan en equipo para confundir?
Un poco de seriedad amigos...

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 19/05/2012, 05:12
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Marcar varios checkbox por categoria

@piso FAIL
jajaja

Etiquetas: checkbox, input, js, marcar, categorias
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 10:48.