Foros del Web » Programando para Internet » Javascript »

Checkbox html y JS

Estas en el tema de Checkbox html y JS en el foro de Javascript en Foros del Web. Hola tengo una duda con html y js, ojala me puedan ayudar. Tengo varios checkbox en un mismo form, por ejemplo: Código: Vehiculos [] Animales ...
  #1 (permalink)  
Antiguo 30/01/2011, 10:07
Avatar de Metallica  
Fecha de Ingreso: enero-2006
Mensajes: 16
Antigüedad: 18 años, 3 meses
Puntos: 0
Checkbox html y JS

Hola tengo una duda con html y js, ojala me puedan ayudar. Tengo varios checkbox en un mismo form, por ejemplo:
Código:

Vehiculos[]                  Animales[]
Camioneta[]                       Perro[]
Camion[]                                   Gato[]
Van[]                                                   Leon[]
Estoy utilizando el siguiente js

Código:
function Chequear(chkbox) 
{ 
for (var i=0;i < document.forms["form1"].elements.length;i++) 
{ 
var elemento = document.forms[0].elements[i]; 
if (elemento.type == "checkbox") 
{ 
elemento.checked = chkbox.checked;
} 
} 
}
Entonces si marco "Vehiculos", recorre el formulario, y chequea todos los checkboxs disponibles. Como sería para que solo me marcara los elementos de vehículos? (Automovil, camioneta, van)

Eso muchas gracias.

PD:quedo un poco desordenado ojalá se entienda.
  #2 (permalink)  
Antiguo 30/01/2011, 11:44
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Checkbox html y JS

Hola Metallica

Puedes usar un truco, pones a cada checkbox un class y cuando los recorres con tu código marcas los que te interesen:

Código HTML:
Ver original
  1. <input type="checkbox" class="vehiculo" /> Coche
  2. <input type="checkbox" class="vehiculo" /> Camion
  3. <input type="checkbox" class="animal" /> Perro
  4. <input type="checkbox" class="animal" /> Gato

Saludos,
  #3 (permalink)  
Antiguo 30/01/2011, 12:04
Avatar de Metallica  
Fecha de Ingreso: enero-2006
Mensajes: 16
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Checkbox html y JS

Gracias por tu respuesta:

A cada checkbox le di una clase, si quiero marcar la clase vehiculo el script quedaria de la suiguente forma??

Código:
function Chequear(chkbox) 
{ 
for (var i=0;i < document.forms["form1"].elements.length;i++) 
{ 
var elemento = document.forms[0].elements[i]; 
if (elemento.class == "vehiculos") 
{ 
elemento.checked = chkbox.checked;
} 
} 
}
La verdad es que soy un poco nuevo en esto, muchas gracias.
  #4 (permalink)  
Antiguo 31/01/2011, 21:36
Avatar de stingofung  
Fecha de Ingreso: enero-2011
Ubicación: Mcbo
Mensajes: 52
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Checkbox html y JS

Saludos "Metallica",

Lo que puedes hacer es lo siguiente:

1) A cada checkbox agregale un value en donde almacenaras su tipo (animal o vehiculo). Luego en evento onclick llamas a tu función pasandole como parámetro el valor actual de ese checkbox.

Código HTML:
Ver original
  1. <input type="checkbox" value="Animal" onclick="Chequear(this.value)" />
  2. <input type="checkbox" value="Animal" onclick="Chequear(this.value)" />
  3. <input type="checkbox" value="Animal" onclick="Chequear(this.value)" />
  4. <input type="checkbox" value="Vehiculo" onclick="Chequear(this.value)" />
  5. <input type="checkbox" value="Vehiculo" onclick="Chequear(this.value)" />

2) Utiliza la siguiente función:

Código Javascript:
Ver original
  1. function Chequear(chkbox)
  2.         {
  3.             for (var i=0; i<document.forms["form1"].elements.length; i++)
  4.             {
  5.                 var elemento = document.forms[0].elements[i];
  6.                 if (elemento.value == chkbox)
  7.                 {
  8.                     elemento.checked = true;
  9.                 }
  10.                 else
  11.                 {
  12.                     elemento.checked = false;
  13.                 }
  14.             }
  15.         }


De esta manera deberia funcionar. Prueba y me comentas.

Etiquetas: checkbox, html, js
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 18:36.