Foros del Web » Programando para Internet » Javascript »

activar/desactivar uno o varios checkbox segun selección

Estas en el tema de activar/desactivar uno o varios checkbox segun selección en el foro de Javascript en Foros del Web. Se hacer como ocultar 1 campo o activar y desactivar un campo, pero no se como hacer que se active uno o varios campos segun ...
  #1 (permalink)  
Antiguo 10/09/2008, 03:47
 
Fecha de Ingreso: noviembre-2007
Ubicación: Mataró, Barcelona
Mensajes: 15
Antigüedad: 16 años, 5 meses
Puntos: 0
activar/desactivar uno o varios checkbox segun selección

Se hacer como ocultar 1 campo o activar y desactivar un campo, pero no se como hacer que se active uno o varios campos segun la seleccion, y segun la seleccion se activarian varios campos.

tengo 5 radios, segun lo que seleccione deberia activar unos checkbox u otros

option 1 - check1, check2, check5
option 2 - check3
option 3 - check1, check4, check5
option 4 - check2, check5,
option 5 - check1, check3

he probado con algun ejemplo que ocultaba y mostraba divs, pero preferiria que se mostraran y solo estuvieran activados o desactivados.
  #2 (permalink)  
Antiguo 10/09/2008, 04:08
Avatar de Legoltaz  
Fecha de Ingreso: agosto-2008
Mensajes: 325
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: activar/desactivar uno o varios checkbox segun selección

Código PHP:
<form name="frm">
Option 1: <input type="radio" name="r1" /><br />
Option 2: <input type="radio" name="r2" /><br />
Option 3: <input type="radio" name="r3" /><br />
Option 4: <input type="radio" name="r4" /><br />
Option 5: <input type="radio" name="r5" /><br /><br />
<
input type="checkbox" name="c1" disabled /> <input type="checkbox" name="c2" disabled /> <input type="checkbox" name="c3" disabled /> <input type="checkbox" name="c4" disabled /> <input type="checkbox" name="c5" disabled />
</
form>
<
script>
document.frm.r1.onclick = function(){
    
document.frm.c1.disabled false;
    
document.frm.c2.disabled false;
    
document.frm.c5.disabled false;
    
document.frm.c3.disabled true;
    
document.frm.c4.disabled true;
}
document.frm.r2.onclick = function(){
    
document.frm.c3.disabled false;
    
document.frm.c1.disabled true;
    
document.frm.c2.disabled true;
    
document.frm.c4.disabled true;
    
document.frm.c5.disabled true;
}
document.frm.r3.onclick = function(){
    
document.frm.c1.disabled false;
    
document.frm.c4.disabled false;
    
document.frm.c5.disabled false;
    
document.frm.c2.disabled true;
    
document.frm.c3.disabled true;
}
document.frm.r4.onclick = function(){
    
document.frm.c2.disabled false;
    
document.frm.c5.disabled false;
    
document.frm.c1.disabled true;
    
document.frm.c3.disabled true;
    
document.frm.c4.disabled true;
}
document.frm.r5.onclick = function(){
    
document.frm.c1.disabled false;
    
document.frm.c3.disabled false;
    
document.frm.c2.disabled true;
    
document.frm.c4.disabled true;
    
document.frm.c5.disabled true;
}
</script> 
  #3 (permalink)  
Antiguo 10/09/2008, 04:13
 
Fecha de Ingreso: noviembre-2007
Ubicación: Mataró, Barcelona
Mensajes: 15
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: activar/desactivar uno o varios checkbox segun selección

gracias Legoltaz era esto exactamente

Aunque una vez clicados los radiobuttons los deja marcados y si cambio luego de opcion se quedan marcados los checkbox.

Última edición por bombillero; 10/09/2008 a las 04:22
  #4 (permalink)  
Antiguo 10/09/2008, 08:30
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: activar/desactivar uno o varios checkbox segun selección

Hola bombillero

Pon así los radio (fíjate que tienen el mismo name)

Código:
<form name="frm">
Option 1: <input type="radio" name="r1" onclick = "habilitar(1,2,5)" /><br />
Option 2: <input type="radio" name="r1" onclick = "habilitar(3)" /><br />
y usa este código:

Código PHP:
function habilitar() {
  
fr document.frm;
  
// deshabilitar todos los checkbox
  
for (i=0ele=fr.elements[i]; i++)
    if (
ele.type=='checkbox'ele.disabled true;
  
// habilitar los checkbox adecuados
  
for (i=0i<arguments.lengthi++)
    
fr['c'+arguments[i]].disabled false;

Saludos,
  #5 (permalink)  
Antiguo 15/09/2008, 02:29
 
Fecha de Ingreso: noviembre-2007
Ubicación: Mataró, Barcelona
Mensajes: 15
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: activar/desactivar uno o varios checkbox segun selección

Y si en vez de checkbox fueran radio? bueno que solo puedan escoger una opcion de las disponibles es que al tener el nombre diferente pueden pinchar en todas las opciones. Podria hacerse que al cambiar de option (r1) deseleccionara la seleccion de abajo?

EDIT: He conseguido que desmarque al cambiar de option añadiendo "ele.checked=false"

Código PHP:
if (ele.type=='checkbox'ele.disabled=trueele.checked=false
Ahora falta que solo se pueda seleccionar uno de los checkbox

Última edición por bombillero; 15/09/2008 a las 05:08
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 11:12.