Foros del Web » Programando para Internet » Javascript »

Visualizar div tras selección

Estas en el tema de Visualizar div tras selección en el foro de Javascript en Foros del Web. Hola Estoy haciendo un formulario en que un bloque del mismo sólo se muestra tras una selección de una opción en un desplegable. El bloque ...
  #1 (permalink)  
Antiguo 04/12/2016, 10:07
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Visualizar div tras selección

Hola

Estoy haciendo un formulario en que un bloque del mismo sólo se muestra tras una selección de una opción en un desplegable.

El bloque a mostrar tras la selección sería el id="divamostrar".

Si tenemos este selector:

Código:
<select id="eldivdelselector">
   <option value="0">Nada</option>
   <option value ="1">Gatos</option>
   <option value ="2">Perros</option>
</select>
Inicialmente no hay problema aplicando este script:

Código:
<script type="text/javascript">
document.getElementById('eldivdelselect').addEventListener('change', function () {
    var style = this.value == 1 ? 'none' : 'block';
    document.getElementById('divamostrar').style.display = style;
});

Creo entender que los dos puntos entre 'none' y 'block' significan if else, y el caso es que yo lo único que necesito es que la función se aplique siempre a "block", dejando ver el div que está oculto. No hace falta que alterne entre visible e invisible.

Por supuesto, así funciona:

Código:
    var style = this.value == 1 ? 'block' : 'block';
¿Pero es la forma?

Gracias.
  #2 (permalink)  
Antiguo 05/12/2016, 07:41
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Visualizar div tras selección

No, en lugar de usar una condicional ternaria, usa una condicional if
Código Javascript:
Ver original
  1. if (this.value == 1) document.getElementById('divamostrar').style.display = 'none';

Etiquetas: funcion, text, tras
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 17:17.