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 originalvariable = 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// variables GLOBALES
Uruguay=["Tacuarembo","Paysandu","Treinta y Tres","Rivera","Salto"];
Argentina=["Buenos Aires","La Rioja","Mendoza"];
Portugal=["Lisboa","Porto"];
Espana=["Madrid","Sevilla"];
$(function(){
// acá podemos manipular el DOM con jQuery
// obtengo los dos combos en variables
var $combo_pais = $('#combo_pais');
var $combo_ciudad = $('#combo_ciudad');
// en el evento que el combo pais cambie, hacer algo
$combo_pais.change(function(){
// obtengo el arreglo de acuerdo al valor que se seleccionó
var arreglo = window[$(this).val()];
//vacío el select de ciudad
$combo_ciudad.empty();
// recorro el arreglo agregando cada valor al select de ciudad usando $.each()
$.each(arreglo, function(){
$combo_ciudad.append('<option value="'+this+'">'+this+'</option>');
})
});
});
El código está prolijo y bien comentado, para que lo entiendas sin copiar y pegar ;)