Ver Mensaje Individual
  #7 (permalink)  
Antiguo 05/12/2016, 12:03
JUMASOL
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 19 años
Puntos: 8
Respuesta: if else con operador "?"

Gracias Álvaro (y compañía).

Finalmente lo he conseguido con estas modificaciones a lo último que me has indicado:

1. El onclick se añade de forma dinámica.

2. El div a ocultar o mostrar es una clase. Y está oculto inicialmente con css.

3. Son varios los valores que lo muestran.

Lo he puesto así:

Código:
<html>

<style>
.divo {
display: none
}
</style>

<select id="selector">
    <option value="0">Oculto</option>
    <option value="1">Oculto</option>
    <option value="2">Oculto</option>
    <option value="3">Oculto</option>
    <option value="4">Oculto</option>
    <option value="5">Oculto</option>
    <option value="6">Visible</option>
    <option value="7">Visible</option>
    <option value="8">Visible</option>
</select>

<div class="divo">Elemento Visible</div>

<script>
document.getElementById('selector').addEventListener('change', function () {
var s = document.getElementById("selector");
if(s.value == "6" || s.value == "7" || s.value == "8"){
var elements = document.getElementsByClassName('divo');
for(var i=0; i<elements.length; i++) { 
elements[i].style.display='block';
}
}
else {
var elements = document.getElementsByClassName('divo');
for(var i=0; i<elements.length; i++) { 
elements[i].style.display='none';
}
}
});
</script>
	
</html>
Por si le sirve a alguno.

He visto otras soluciones con jQuery por ahí, pero a mi me gusta más cuanto más simple mejor.

Un saludo y gracias.