Foros del Web » Programando para Internet » Javascript »

Ayuda con arrays - provincias y ciudades

Estas en el tema de Ayuda con arrays - provincias y ciudades en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/08/2009, 23:20
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
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>
  #2 (permalink)  
Antiguo 03/08/2009, 23:46
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Ayuda con arrays - provincias y ciudades

en la siguiente linea has introducido un "carro de retorno" (carriage return, line feed, o Enter). tienes que unirlo porque los string no se pueden hacer en multiples lineas
Código:
var provincias_19=new Array("-","Ayacucho","Belgrano","Coronel Pringles","Chacabuco","General //especificamente aqui; 
Pedernera","Gobernador Dupuy","Junín","La Capital","Libertador General San Martín")
lee el siguiente tema que explica porque un string no se puede romper con un carriage return.
http://www.forosdelweb.com/f13/creo-...1/#post3025123
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
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 23:01.