Tema: Una ayudita
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/06/2012, 06:53
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 9 meses
Puntos: 192
Respuesta: Una ayudita

Creo que la parte más confusa o complicada de tu problema, es obtener los arreglos a partir del valor del select. Básicamente queremos obtener una variable a partir de un string con su nombre. Si la variable es global, podemos hacer esto:

Código Javascript:
Ver original
  1. variable = window['nombre_de_variable_en_string'];

A partir de ahí es más fácil. Una forma sería algo así:

Código Javascript:
Ver original
  1. // variables GLOBALES
  2. Uruguay=["Tacuarembo","Paysandu","Treinta y Tres","Rivera","Salto"];
  3. Argentina=["Buenos Aires","La Rioja","Mendoza"];
  4. Portugal=["Lisboa","Porto"];
  5. Espana=["Madrid","Sevilla"];
  6.  
  7. $(function(){
  8.     // acá podemos manipular el DOM con jQuery
  9.    
  10.     // obtengo los dos combos en variables
  11.     var $combo_pais = $('#combo_pais');
  12.     var $combo_ciudad = $('#combo_ciudad');
  13.    
  14.     // en el evento que el combo pais cambie, hacer algo
  15.     $combo_pais.change(function(){
  16.         // obtengo el arreglo de acuerdo al valor que se seleccionó
  17.         var arreglo = window[$(this).val()];
  18.        
  19.         //vacío el select de ciudad
  20.         $combo_ciudad.empty();
  21.        
  22.         // recorro el arreglo agregando cada valor al select de ciudad usando $.each()
  23.         $.each(arreglo, function(){
  24.             $combo_ciudad.append('<option value="'+this+'">'+this+'</option>');
  25.         })
  26.     });
  27. });

Código HTML:
Ver original
  1. <div id="pais">
  2.           <label class="fila2">Ingrese el pa&iacute;s de origen </label><br>
  3.           <select id="combo_pais" class="fila2">
  4.                 <option value="0">Seleccione un país</option>
  5.               <optgroup label="America">
  6.                   <option value="Uruguay">Uruguay</option>
  7.                   <option value="Argentina">Argentina</option>
  8.               </optgroup>
  9.               <optgroup label="Europa">
  10.                   <option value="Espana">Espa&ntilde;a</option>
  11.                   <option value="Portugal">Portugal</option>
  12.               </optgroup>
  13.           </select>
  14.           <select id="combo_ciudad">
  15.             <option value="0">Seleccione un país primero</option>
  16.           </select>
  17.     </div>


El código está prolijo y bien comentado, para que lo entiendas sin copiar y pegar ;)
__________________
nahueljose.com.ar