Ayuda con arrays - provincias y ciudades Hola a todos! soy nuevo en forosdelweb y es el primer foro el que participo, asi que antes que nada pido paciencia, ya que no estoy tan familiarizado en esto...
Estoy armando un formulario de con un codigo que encontre y funciona bien, uno selecciona en un menu un pais y en el menu siguiente aparecen las provincias que existen en dicho pais.
La cuestion es que cuando lo uso con mas de 4 opciones (como viene en el ejemplo) ya no me funciona el 2do menu.. Seguramente es muy sencillo de arreglar pero el javascript no es mi fuerte y se me debe estar escapando algo...
Desde ya les agradezo por la ayuda!!
este es mi codigo:
Código:
<form name="f1">
<select name=pais onchange="cambia_provincia()">
<option value="0">
<option value="2">Capital Federal
<option value="1">Buenos Aires
<option value="3">Catamarca
<option value="4">Chaco
<option value="5">Chubut
<option value="6">Córdoba
<option value="7">Corrientes
<option value="8">Entre Ríos
<option value="9">Formosa
<option value="10">Jujuy
<option value="11">La Pampa
<option value="12">La Rioja
<option value="13">Mendoza
<option value="14">Misiones
<option value="15">Neuquén
<option value="16">Río Negro
<option value="17">Salta
<option value="18">San Juan
<option value="19">San Luis
<option value="20">Santa Cruz
<option value="21">Santa Fe
<option value="22">Santiago Del Estero
<option value="23">Tierra Del Fuego
<option value="24">Tucuman
</select>
<select name=provincia>
<option value="-">-
</select>
</form>
<script type="text/javascript" language="javascript">
var provincias_1=new Array("-","Adolfo Alsina","Zárate")
var provincias_2=new Array("-","Capital Federal")
var provincias_3=new Array("-","Ambato","Ancasti","Andalgalá","Antofagasta de la Sierra","Belén","Capayán","Valle Viejo")
var provincias_4=new Array("-","Almirante Brown","Bermejo","Comandante Fernández","25 de Mayo")
var provincias_5=new Array("-","Biedma","Cushamen","Escalante","Florentino Ameghino","Futaleufú","Gaiman","Gastre","Languiñeo","Mártires","Paso de Indios","Rawson","Río Senguer","Sarmiento ","Tehuelches","Telsen")
var provincias_6=new Array("-","Calamuchita","Colón","Córdoba","Cruz del Eje","Unión")
var provincias_7=new Array("-","Bella Vista","Berón de Astrada","Concepción","Corrientes","Curuzú Cuatiá","Empedrado","Esquina","General Alvear","General Paz","Goya","Itatí","Ituzaingó","Lavalle","Mburucuyá","Mercedes","Monte Caseros","Paso de los Libres","Saladas","San Cosme","San Luis del Palmar","San Martín","San Miguel","San Roque","Santo Tomé","Sauce")
var provincias_8=new Array("-","Colón","Concordia","Diamante","Federación","Federal","Feliciano","Gualeguay","Gualeguaychú","Islas del Ibicuy","La Paz","Nogoyá","Paraná","San Salvador","Tala","Uruguay","Victoria","Villaguay")
var provincias_9=new Array("-","Bermejo","Formosa","Laishi","Matacos","Patiño","Pilagás","Pilcomayo","Pirané","Ramón Lista")
var provincias_10=new Array("-","Cochinoca","El Carmen","Dr. Manuel Belgrano","Humahuaca","Ledesma","Palpalá ","Rinconada","San Antonio","San Pedro","San Salvador de Jujuy","Santa Bárbara","Santa Catalina","Susques","Tilcara","Tumbaya","Valle Grande","Yavi")
var provincias_11=new Array("-","Atreucó","Caleu Caleu","Catriló","Conhelo","Curacó","Chalileo","Chapaleufú","Chical Co","Guatraché","Hucal","Lihuel Calel","Limay Mahuida","Loventué","Maracó","Puelén","Quemú Quemú","Rancul","Realicó","Santa Rosa","Toay","Trenel","Utracán")
var provincias_12=new Array("-","Arauco","Rosario Vera Peñaloza","San Blas de los Sauces","Sanagasta")
var provincias_13=new Array("-","General Alvear","Godoy Cruz","Guaymallén","Junín","La Paz ","Las Heras","Lavalle","Luján de Cuyo","Maipú","Malargüe","Mendoza","Rivadavia","San Carlos ","San Martín","San Rafael ","Santa Rosa ","Tunuyán ","Tupungato")
var provincias_14=new Array("-","Apóstoles","Cainguás","Candelaria","Concepción","Eldorado","General Manuel Belgrano","Guaraní","Iguazú","Leandro N. Alem","Libertador Grl. San Martín","Montecarlo","Oberá","Posadas","San Ignacio","San Javier","San Pedro","25 de Mayo")
var provincias_15=new Array("-","Aluminé","Añelo","Catán Lil","Collón Curá","Confluencia","Chos Malal","Huiliches","Lácar","Loncopué","Los Lagos","Minas","Neuquén","Ñorquín","Pehuenches","Picún Leufú","Picunches","Zapala")
var provincias_16=new Array("-","Adolfo Alsina","Avellaneda","Bariloche","Conesa","El Cuy","General Roca","9 de Julio","Ñorquincó","Pichi Mahuida","Pilcaniyeu","San Antonio","Valcheta","Viedma","25 de Mayo")
var provincias_17=new Array("-","Anta","Cachi","Cafayate","Cerrillos","Chicoana","General Güemes","Grl. José de San Martín","Guachipas","Iruya","La Caldera","La Candelaria","La Poma","La Viña","Los Andes","Metán","Molinos","Orán","Rivadavia","Rosario de la Frontera","Rosario de Lerma","Salta","San Carlos","Santa Victoria")
var provincias_18=new Array("-","Aberastain","Zonda")
var provincias_19=new Array("-","Ayacucho","Belgrano","Coronel Pringles","Chacabuco","General
Pedernera","Gobernador Dupuy","Junín","La Capital","Libertador General San Martín")
var provincias_20=new Array("-","Corpen Aike","Deseado","Güer Aike","Lago Argentino","Lago Buenos Aires","Magallanes","Río Chico","Río Gallegos")
var provincias_21=new Array("-","Arequito","Belgrano","Caseros","Casilda","Castellanos","Firmat","Garay","General López","General Obligado","Iriondo","Las Colonias","9 de Julio","Rafaela","Rosario","San Cristóbal","San Javier","San Jerónimo","San Justo","San Lorenzo","San Martín","Santa Fe","Venado Tuerto","Vera","Villa Constitución","Villa Gobernador Galvez")
var provincias_22=new Array("-","Aguirre","Alberdi","Atamisqui","Avellaneda","Banda","Belgrano","Copo","Choya","Figueroa","General Taboada","Guasayán","Jiménez","Juan F. Ibarra","Loreto","Mitre","Moreno","Ojo de Agua","Pellegrini","Quebrachos","Río Hondo","Rivadavia","Robles","Salavina","San Martín","Santiago del Estero","Sarmiento","Silípica")
var provincias_23=new Array("-","Río Grande","Ushuaia")
var provincias_24=new Array("-","Burruyacú","Cruz Alta","Chicligasta","Famaillá","Graneros","Juan Bautista Alberdi","La Cocha","Leales","Lules","Monteros","Río Chico","Simoca","Tafí del Valle","Tafí Viejo","Trancas","Tucumán","Yerba Buena")
function cambia_provincia(){
//tomo el valor del select del pais elegido
var pais
pais = document.f1.pais[document.f1.pais.selectedIndex].value
//miro a ver si el pais está definido
if (pais != 0) {
//si estaba definido, entonces coloco las opciones de la provincia correspondiente.
//selecciono el array de provincia adecuado
mis_provincias=eval("provincias_" + pais)
//calculo el numero de provincias
num_provincias = mis_provincias.length
//marco el número de provincias en el select
document.f1.provincia.length = num_provincias
//para cada provincia del array, la introduzco en el select
for(i=0;i<num_provincias;i++){
document.f1.provincia.options[i].value=mis_provincias[i]
document.f1.provincia.options[i].text=mis_provincias[i]
}
}else{
//si no había provincia seleccionada, elimino las provincias del select
document.f1.provincia.length = 1
//coloco un guión en la única opción que he dejado
document.f1.provincia.options[0].value = "-"
document.f1.provincia.options[0].text = "-"
}
//marco como seleccionada la opción primera de provincia
document.f1.provincia.options[0].selected = true
}
</script>
y este es el codigo del ejemplo:
Código:
<form name="f1">
<select name=pais onchange="cambia_provincia()">
<option value="0">Provincia...
<option value="1">Pais 1
<option value="2">Pais 2
<option value="3">Pais 3
<option value="4">Pais 4
</select>
<select name=provincia>
<option value="-">-
</select>
</form>
<script type="text/javascript" language="javascript">
var provincias_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
var provincias_2=new Array("-","Capital Federal")
var provincias_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
var provincias_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")
function cambia_provincia(){
//tomo el valor del select del pais elegido
var pais
pais = document.f1.pais[document.f1.pais.selectedIndex].value
//miro a ver si el pais está definido
if (pais != 0) {
//si estaba definido, entonces coloco las opciones de la provincia correspondiente.
//selecciono el array de provincia adecuado
mis_provincias=eval("provincias_" + pais)
//calculo el numero de provincias
num_provincias = mis_provincias.length
//marco el número de provincias en el select
document.f1.provincia.length = num_provincias
//para cada provincia del array, la introduzco en el select
for(i=0;i<num_provincias;i++){
document.f1.provincia.options[i].value=mis_provincias[i]
document.f1.provincia.options[i].text=mis_provincias[i]
}
}else{
//si no había provincia seleccionada, elimino las provincias del select
document.f1.provincia.length = 1
//coloco un guión en la única opción que he dejado
document.f1.provincia.options[0].value = "-"
document.f1.provincia.options[0].text = "-"
}
//marco como seleccionada la opción primera de provincia
document.f1.provincia.options[0].selected = true
}
</script>
|