Foros del Web » Programando para Internet » Javascript »

Mostrar div utilizando select

Estas en el tema de Mostrar div utilizando select en el foro de Javascript en Foros del Web. Buenas Noches.! Alguien me podría ayudar con un problema que se me presento utilizando el select de acuerdo a los option me muestre el div ...
  #1 (permalink)  
Antiguo 04/09/2014, 22:35
 
Fecha de Ingreso: agosto-2014
Mensajes: 17
Antigüedad: 9 años, 7 meses
Puntos: 0
Pregunta Mostrar div utilizando select

Buenas Noches.!
Alguien me podría ayudar con un problema que se me presento utilizando el select de acuerdo a los option me muestre el div indicado para cada option. Primero seleccionando la opción al darle click al botton que me muestre el div.

Código HTML:
Ver original
  1. valor1:
  2.             <select name="v1">
  3.             <option value="op1">opcion1</option>
  4.             <option value="op2">opcion2</option>
  5.             <option value="op3">opcion3</option>
  6.             <option value="op4">opcion4</option>
  7.             <option value="op5">opcion5</option>
  8.             </select>
  9.        
  10. <button class="registro" type="submit" onClick="ingreso()">INGRESAR</button>
  #2 (permalink)  
Antiguo 05/09/2014, 00:16
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: Mostrar div utilizando select

Hazlo así:

Código Javascript:
Ver original
  1. var select = document.querySelector("[name=v1]"),
  2.     button = document.querySelector(".registro"),
  3.     divs = document.querySelectorAll("[id^=op]");
  4.  
  5. button.addEventListener("click", function(){
  6.     [].forEach.call(divs, function(div){
  7.         div.style.display = div.id == select.value ? "block" : "none";
  8.     });
  9. }, false);

Lo que hago es simple. Primero, tomo al combo, al botón y a los elementos <div> cuyos id empiecen con 'op' (esto basado en los valores del combo). Luego, cuando pulsemos el botón, recorremos al conjunto de elementos <div> y, en cada iteración, comparamos el id de cada uno de ellos con el valor seleccionado en el combo. Cuando los valores coincidan, mostramos al <div> que corresponda, caso contrario, lo ocultamos.



No olvides colocar el código JavaScript después de todos los elementos del documento y antes de la etiqueta </body> para que surta efecto.

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

Última edición por Alexis88; 05/09/2014 a las 00:22 Razón: Nota
  #3 (permalink)  
Antiguo 05/09/2014, 10:10
 
Fecha de Ingreso: febrero-2010
Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Mostrar div utilizando select

y en caso que quieras que uno de esos div salga previamente al abrir la pagina para luego por ti mismo seleccionar otro? como lo harias?
  #4 (permalink)  
Antiguo 05/09/2014, 11:18
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: Mostrar div utilizando select

Cita:
Iniciado por julslash Ver Mensaje
y en caso que quieras que uno de esos div salga previamente al abrir la pagina para luego por ti mismo seleccionar otro? como lo harias?
Tomas al primero de los elementos <div> y lo muestras:

Código Javascript:
Ver original
  1. divs[0].style.display = "block";

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
  #5 (permalink)  
Antiguo 07/09/2014, 17:16
 
Fecha de Ingreso: agosto-2014
Mensajes: 17
Antigüedad: 9 años, 7 meses
Puntos: 0
Pregunta Respuesta: Mostrar div utilizando select

Gracias era lo que andaba buscando, pero tengo otro inconveniente.
todos mis elementos los tengo dentro de un form para conectarlo con mi base de datos se comporta extraño aparte los debo de meter dentro de otro div para los estilo y se desaparese

Etiquetas: html
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 16:09.