Foros del Web » Programando para Internet » Javascript »

Select onchange

Estas en el tema de Select onchange en el foro de Javascript en Foros del Web. HOla amigos estoy tratando de hacer un select normal que tiene dos opciones 'Si', 'No' . Lo que quiero es que si el usuario selecciona ...
  #1 (permalink)  
Antiguo 29/12/2013, 13:00
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Select onchange

HOla amigos estoy tratando de hacer un select normal que tiene dos opciones 'Si', 'No' . Lo que quiero es que si el usuario selecciona la opcion 'Si' entonces me aparezan o se habiliten dos select mas para que siga llenando el formulario, si el usuario escoge 'No' entonces que aparezca un solo select. Creo que se hace con la funcion onchange de javascript pero no lo he sabido dominar bien.

El codigo seria algo asi:

Select de 'Si', 'No'
Código:
<select name="estudia_act_cab">
	<option value=" ">Seleccione...</option> 
	<option value="Si">Si</option>
	<option value="No">No</option>
	</select>
Si escoge 'Si' entonces que muestre estos:
Código PHP:
Entidad educativa:     
            <select name='cod_program_est'>
                <option value="0"selected></option>
                <?
                $sql3 
"select * from program_est";
                
$result3 mysql_query ($sql3$link);
                while (
$row mysql_fetch_array ($result3)) {
                
$mcodpr $row['cod_program_est'];
                
$mprog $row['dtalle_program_est'];
                if (
$pro == $mcodas)
                echo 
"<option value= '$mcodpr'> $mprog </option>";
                else
                echo 
"<option value= '$mcodpr'> $mprog</option>";
                }
                echo 
"</option>";
                
?>
                </select></td>

Tipo de institucion actual:
                <select name='cod_ins'>
                <option value="0"selected></option>
                <?
                $sql3 
"select * from institucion";
                
$result3 mysql_query ($sql3$link);
                while (
$row mysql_fetch_array ($result3)) {
                
$mcodpr $row['cod_ins'];
                
$mprog $row['dtalle_ins'];
                if (
$pro == $mcodas)
                echo 
"<option value= '$mcodpr'> $mprog </option>";
                else
                echo 
"<option value= '$mcodpr'> $mprog</option>";
                }
                echo 
"</option>";
                
?>
                </select>
Si escoge 'No'

Código PHP:
Ultimo año aprobado:                
                <select name='cod_anio_aprob'>
                <option value="0"selected></option>
                <?
                $sql3 
"select * from anio_aprob";
                
$result3 mysql_query ($sql3$link);
                while (
$row mysql_fetch_array ($result3)) {
                
$mcodpr $row['cod_anio_aprob'];
                
$mprog $row['dtalle_anio_aprob'];
                if (
$pro == $mcodas)
                echo 
"<option value= '$mcodpr'> $mprog </option>";
                else
                echo 
"<option value= '$mcodpr'> $mprog</option>";
                }
                echo 
"</option>";
                
?>
                </select>
  #2 (permalink)  
Antiguo 29/12/2013, 15:35
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Select onchange

Trabaja con el evento change y en la función controladora, tomas el valor seleccionado del select y realizas una determinada acción en base a dicho valor. Un ejemplo:

En el documento HTML
Código HTML:
Ver original
  1. <select id = "seleccion">
  2.   <option>SELECCIONE UNO</option>
  3.   <option value = 1>SI</option>
  4.   <option value = 2>NO</option>
  5.  
  6. <select class = "par">
  7.   <option>Par 1</option>
  8.  
  9. <select class = "par">
  10.   <option>Par 2</option>
  11.  
  12. <select id = "impar">
  13.   <option>Impar</option>

En la hoja de estilos (para ocultar los combos desde el inicio)
Código CSS:
Ver original
  1. .par, #impar {
  2.   display: none;
  3. }

En el documento JavaScript
Código Javascript:
Ver original
  1. var seleccion = document.querySelector("#seleccion"),
  2.     pares = document.getElementsByClassName("par"),
  3.     impar = document.getElementById("impar");
  4.  
  5. seleccion.addEventListener("change", function(){
  6.   var valorElegido = this.value;
  7.  
  8.   if (valorElegido == 1) {
  9.     impar.style.display = "none";
  10.    
  11.     for (var i in pares) {
  12.       pares[i].style.display = "block";
  13.     }
  14.   }
  15.   else if (valorElegido == 2) {
  16.     impar.style.display = "block";
  17.    
  18.     for (var j in pares) {
  19.       pares[j].style.display = "none";
  20.     }
  21.   }
  22.   else {
  23.     impar.style.display = "none";
  24.    
  25.     for (var k in pares) {
  26.       pares[k].style.display = "none";
  27.     }
  28.   }
  29. }, false);

Como verás, dependiendo de la selección que se realice, o bien se muestran los dos primeros combos y el tercero se oculta o viceversa, además, si selecciono la opción por defecto, se ocultan todos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: formulario, funcion, onchange, select
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 12:07.