Ver Mensaje Individual
  #8 (permalink)  
Antiguo 25/02/2014, 17:18
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: mostrar input segun select multiple

Debiste explicarlo así desde un inicio. Para ese caso, puedes utilizar un array en el cual irás añadiendo los valores que selecciones, si le das clic nuevamente al elemento que previamente seleccionaste, éste se des-selecciona y se retira del array, caso contrario, se añade. Luego, buscas en el array el elemento "MX" que corresponde con el valor de la opción "México", de estar presente, se muestra la lista de Estados de México, caso contrario, estará oculta.

Código Javascript:
Ver original
  1. var opciones = document.getElementsByName("paises[]")[0],
  2.     mexico = document.getElementById("selectestado"),
  3.     s = []; //Valores seleccionados
  4.  
  5. opciones.addEventListener("click", function(e){
  6.     var valor = e.target.value, //Valor seleccionado
  7.         i = s.indexOf(valor); //Posición del valor en el array, si es que está
  8.    
  9.     if (i > -1) //Cuando un valor no está en el array, la función indexOf devuelve -1
  10.         s.splice(i, 1); //Retiramos el valor seleccionado
  11.     else
  12.         s.push(valor); //Añadimos el valor seleccionado
  13.    
  14.     mexico.style.display = s.indexOf("MX") > -1 ? "block" : "none";
  15. }, false);

DEMO

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