Foros del Web » Programando para Internet » Javascript »

Habilitar listas en funcion del valor seleccionado en otra lista

Estas en el tema de Habilitar listas en funcion del valor seleccionado en otra lista en el foro de Javascript en Foros del Web. Hola a todos, tengo una lista en la que muestro los valores que me devuelve una consulta que hago a la base de datos, a ...
  #1 (permalink)  
Antiguo 17/05/2005, 04:11
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Habilitar listas en funcion del valor seleccionado en otra lista

Hola a todos,

tengo una lista en la que muestro los valores que me devuelve una consulta que hago a la base de datos, a una tabla sobre estudios realizados.

Luego tengo dos listas 'disabled' que son licenciaturas y diplomaturas (tambien dos consultas a la base de datos).

En funcion de lo que elige el usuario en la primera lista (estudios realizados) quiero poner 'enable' la lista de licenciaturas o la de diplomaturas.

Como puedo hacer esto?

Gracias y saludos al foro,
Mickeyzgz
  #2 (permalink)  
Antiguo 17/05/2005, 04:15
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola mickeyzgz

A ver si esto te ayuda:
Código:
<form>
<select onchange="diplomaturas.disabled = this.selectedIndex==1">
<option>Habilitar</option>
<option>Deshabilitar</option>
</select>
<select name="diplomaturas">
Saludos,
  #3 (permalink)  
Antiguo 17/05/2005, 04:21
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Hola JavierB,

no entiendo lo que quieres hacer con el código que has puesto.

Yo tengo una lista que son los valores que me devuelve una select. Dentro de los valores devueltos esta 'LINCENCIADO' y 'DIPLOMADO'.

Si el usuario elige 'LINCENCIADO' entonces habilita la lista de licenciados, y si elige 'DIPLOMADO' muestra la lista de diplomados. Ó tambien se puede hacer una única lista y la consulta de la misma en función de lo que ha elegido el usuario.

Espero tus noticias y muchas gracias,
Mickeyzgz
  #4 (permalink)  
Antiguo 17/05/2005, 04:35
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

Solo era un ejemplo. Aquí tienes un código más elaborado:
Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
habilitar(sel) {
  
frm sel.form;
  
frm.diplo.disabled sel.selectedIndex==1;
  
frm.licen.disabled = !frm.diplo.disabled;
}
</script>
</head>
<body>
<form>
<select onchange="habilitar(this)">
<option>Diplo</option>
<option>Licen</option>
</select>
<select name="diplo">
<option>Enfermería</option>
</select>
<select name="licen">
<option>Derecho</option>
</select>
</body>
</html> 
Saludos,
  #5 (permalink)  
Antiguo 17/05/2005, 04:50
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Así esta mucho más claro, pero creo que eso no me sirve porque a parte de 'DIPLOMATURA' y 'LICENCIATURA' puede haver muchas más opciones en la primera lista..., y como poner tú en el codigo controlas si es la primera o la segunda opcion. En mi caso puede haber unas 10 opciones ó más.

Se puede controlar en función del valor escogido? Me refiero no por el orden, sino ver si lo elegido es igual a 'Diplomatura', una como paración de cadenas de texto o algo asi.

Saludos y muchas gracias de nuevo,
Mickeyzgz
  #6 (permalink)  
Antiguo 17/05/2005, 05:55
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Rehola.
Código:
<select name="jose" onchange="habilitar(this)">
<option="diplo">Diplomatura</option>
Siguiendo el ejemplo que te puse en mi anterior mensaje, con frm.jose.value te devolverá diplo y con frm.jose.options[frm.jose.selectedIndex].text te devolverá Diplomatura

Ahora ya tienes todas las posibilidades para hacer comparaciones y ver cuando necesitas habilitar/deshabilitar.

Saludos,

Última edición por JavierB; 17/05/2005 a las 08:30
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 07:00.