Foros del Web » Programando para Internet » Javascript »

Checkbox que desabilita Select

Estas en el tema de Checkbox que desabilita Select en el foro de Javascript en Foros del Web. Hola amigos tengo un formulario donde aparece este codigo: Código PHP: </ select >  a  < select name = "dis_hora2"  size = "1" >     < option value ...
  #1 (permalink)  
Antiguo 31/05/2004, 09:48
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 22 años, 6 meses
Puntos: 0
Pregunta Checkbox que desabilita Select

Hola amigos tengo un formulario donde aparece este codigo:
Código PHP:
</select<select name="dis_hora2" size="1">
    <
option value="15:00">15:00</option>
    <
option value="16:00">16:00</option>
    <
option value="18:00">18:00</option>
    <
option value="19:00">19:00</option>
    <
option value="20:00">20:00</option>
    <
option selected value="21:00">21:00</option>
    <
option value="0:00">0:00</option>
    <
option value="3:00">3:00</option>
</
selecth. &oacute; <input type="checkbox" name="dis_24" value="24"24 h.</td
Bien lo que quiero es que cuando alguien elija la opción de 24 h. que es un checkbox , el PHP (o Java del que no tengo ni zorra) desabilite los selects de las horas.

Espero haberme explicado, gracias de antemano.
__________________
Seguro que ahora me sale mejor!
  #2 (permalink)  
Antiguo 31/05/2004, 12:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Pues .. lo que pretendes se solventa con Javascript .. así que muevo el mensaje al foro indicado.

Un saludo,
  #3 (permalink)  
Antiguo 31/05/2004, 12:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola benti (y Cluster ):

La solución es preguntar si está checked el texbox...

h. &oacute; <input type="checkbox" name="dis_24" value="24" onclick="this.form.dis_hora2.disabled = (this.checked) ? true : false;"> 24 h.

Espero no tener errores de sintaxis...

Saludos
  #4 (permalink)  
Antiguo 01/06/2004, 12:56
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 22 años, 6 meses
Puntos: 0
Ole, , Y como hago para que desde un select una opcion desactive un monton de campos.
Gracias
__________________
Seguro que ahora me sale mejor!

Última edición por benti; 01/06/2004 a las 13:46 Razón: Solucionado
  #5 (permalink)  
Antiguo 01/06/2004, 13:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola otra vez:

Con los select puedes usar el evento onchange y consultar su value, su índice en la selección (selectedIndex) el texto que muestra, pero el value creo que es lo mejor, y en ese caso según ese value llamas a una función que deshabilite todos los elementos que quieres (también puedes hacerlo en línea, pero para mi gusto estropearía la estética de la página)... ejemplo:

function deshabilitar() {
with (document.forms[0]) {
elemento1.disabled = true;
elemento2.disabled = true;
...
elementon.disabled = true;
}
}

... Y en el select:
<select onchange="if (this.value = 'deshabilitar') deshabilitar();" ...>
<option>... </option>
<option value="deshabilitar" >esta opción deshabilita varios elementos</option>
...
<option>... </option>
</select>

Saludos
  #6 (permalink)  
Antiguo 01/06/2004, 13:44
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 22 años, 6 meses
Puntos: 0

Jeje pero cuando selecciono esa opcion ya no puedo elegir otra, por mas que ponga otra opcion del select vuelve a la opcion que desactiva, imagino que tendria que crear algo asi:
Código PHP:
function abilitar() {
with (document.forms[0]) {
elemento1.enabletrue;
elemento2.enable true;
...
elementon.enable true;
}

Aunque imagino que habra algo para habilitar de golpe tolo lo deshabilitado no?
Gracias por tu paciencia, si al final el Java este me va a gustar :)
__________________
Seguro que ahora me sale mejor!
  #7 (permalink)  
Antiguo 01/06/2004, 14:05
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61

Prueba con esto:
Código HTML:
function habilitar() {
with (document.forms[0]) {
for(a=0;a<elements.length;a++){
elements[a].disabled = false;}
}
}
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 01/06/2004 a las 14:06
  #8 (permalink)  
Antiguo 01/06/2004, 14:24
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 22 años, 6 meses
Puntos: 0
Pues no, a no no ser que en el select tenga que poner alguna instruccion
__________________
Seguro que ahora me sale mejor!
  #9 (permalink)  
Antiguo 01/06/2004, 16:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Cita:
Iniciado por benti
Pues no, a no no ser que en el select tenga que poner alguna instruccion
¡Exacto!

Por lo que veo, el código de KarlanKas (¡Hola !) habilita todos los elementos del formulario, pero si quieres mantener algun disabled tienes que ser selectivo y habilitarlos uno a uno (o mediante alguna condición... pero creo que lo mejor es no liarnos)

La custión es que llames a la función habilitar ya sea desde otra opción del select o desde cualquier otro botón (o lo que sea)

Entnoces podrías ser selectivo en el evento onchange...

<select onchange="seleccionar(this.value);" ...>
<option>... </option>
<option value="deshabilitar" >esta opción deshabilita varios elementos</option>

<option value="habilitar" >esta otra opción habilita varios elementos</option>

...
<option>... </option>
</select>

... y seleccionar sería:

function seleccionar(op) {
switch (op) {
case "habilitar": habilitar();
break;
case "deshabilitar": deshabilitar();
break;
...
}
}

Saludos
  #10 (permalink)  
Antiguo 03/06/2004, 05:54
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 22 años, 6 meses
Puntos: 0
gracias mas o menos ya se por donde tengo que ir.
gracias
__________________
Seguro que ahora me sale mejor!
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 13:15.