Hola!!!
Tengo tres combox los cuales estan en función de lo que sea seleccionado en el predecesor. Hasta el momento he podido enlazar los dos primeros con mucho exito, sin embargo, cuando se selecciona la tercera no muestra los valores deseados. Estoy empleando ARRAY´s para colocar los valores. El primer ARRAY es el que sigue:
Código PHP:
var Arry_Estado = new Array(
" ",
"AGUASCALIENTES",
"CHIAPAS",
"CHIHUAHUA",
"COAHUILA DE ZARAGOZA",
"DURANGO",
"GUERRERO",
"HIDALGO",
"NAYARIT",
"OAXACA",
"PUEBLA",
"QUERETARO DE ARTEAGA",
"SAN LUIS POTOSI",
"SINALOA",
"TAMAULIPAS",
"VERACRUZ-LLAVE",
"ZACATECAS"
);
el segundo ARRAY es:
Código PHP:
var Arry_Municipio_opc02 = new Array(
" ",
"ASIENTOS"
);
/* CHIAPAS */
var Arry_Municipio_opc03 = new Array(
" ",
"CHALCHIHUITAN",
"CHAMULA",
"CHENALHO"
);
etc... Son muchos asi es que no los pongo. En este arreglo, Arry_Municipio_opc02 corresponde al municipio de AGUASCALIENTES y asi sucesivamente.
Tengo otro ARRAY que contiene las localidades especificas del municipio. algunas lineas son:
Código PHP:
var Arry_Localidad_opc002 = new Array(
" ",
"GUADALUPE DE ATLAS",
"LAZARO CARDENAS",
"MOLINOS",
"PINO SUAREZ (RANCHO VIEJO)"
);
var Arry_Localidad_opc003 = new Array(
" ",
"SAN JOSE BAQUEACHI"
);
La construccion de los ARRAYs fue esa. Ahora estos son los scripts que uso
Código PHP:
var Lista_Estados = new Array(
Arry_Municipio_opc01,
Arry_Municipio_opc02,
Arry_Municipio_opc03,
Arry_Municipio_opc04,
Arry_Municipio_opc05,
Arry_Municipio_opc06,
Arry_Municipio_opc07,
Arry_Municipio_opc08,
Arry_Municipio_opc09,
Arry_Municipio_opc10,
Arry_Municipio_opc11,
Arry_Municipio_opc12,
Arry_Municipio_opc13,
Arry_Municipio_opc14,
Arry_Municipio_opc15,
Arry_Municipio_opc16,
Arry_Municipio_opc17
);
var Lista_Municipios = new Array(
Arry_Localidad_opc001,
Arry_Localidad_opc002,
Arry_Localidad_opc003,
Arry_Localidad_opc004,
Arry_Localidad_opc005,
Arry_Localidad_opc006,
Arry_Localidad_opc007,
Arry_Localidad_opc008,
Arry_Localidad_opc009,
Arry_Localidad_opc010,
Arry_Localidad_opc011,
Arry_Localidad_opc012,
Arry_Localidad_opc013,
Arry_Localidad_opc014,
Arry_Localidad_opc015,
Arry_Localidad_opc016,
Arry_Localidad_opc017,
Arry_Localidad_opc018,
Arry_Localidad_opc019,
Arry_Localidad_opc020,
Arry_Localidad_opc021,
Arry_Localidad_opc022,
Arry_Localidad_opc023,
Arry_Localidad_opc024,
Arry_Localidad_opc025,
Arry_Localidad_opc026,
Arry_Localidad_opc027,
Arry_Localidad_opc028,
Arry_Localidad_opc029,
Arry_Localidad_opc030,
Arry_Localidad_opc031,
Arry_Localidad_opc032,
Arry_Localidad_opc033,
Arry_Localidad_opc034,
Arry_Localidad_opc035,
Arry_Localidad_opc036,
Arry_Localidad_opc037,
Arry_Localidad_opc038,
Arry_Localidad_opc039,
Arry_Localidad_opc040,
Arry_Localidad_opc041,
Arry_Localidad_opc042,
Arry_Localidad_opc043,
Arry_Localidad_opc044,
Arry_Localidad_opc045,
Arry_Localidad_opc046,
Arry_Localidad_opc047,
Arry_Localidad_opc048,
Arry_Localidad_opc049,
Arry_Localidad_opc050,
Arry_Localidad_opc051,
Arry_Localidad_opc052,
Arry_Localidad_opc053,
Arry_Localidad_opc054,
Arry_Localidad_opc055,
Arry_Localidad_opc056,
Arry_Localidad_opc057,
Arry_Localidad_opc058,
Arry_Localidad_opc059,
Arry_Localidad_opc060,
Arry_Localidad_opc061,
Arry_Localidad_opc062,
Arry_Localidad_opc063,
Arry_Localidad_opc064,
Arry_Localidad_opc065,
Arry_Localidad_opc066,
Arry_Localidad_opc067,
Arry_Localidad_opc068,
Arry_Localidad_opc069,
Arry_Localidad_opc070,
Arry_Localidad_opc071,
Arry_Localidad_opc072,
Arry_Localidad_opc073,
Arry_Localidad_opc074,
Arry_Localidad_opc075,
Arry_Localidad_opc076,
Arry_Localidad_opc077,
Arry_Localidad_opc078,
Arry_Localidad_opc079,
Arry_Localidad_opc080,
Arry_Localidad_opc081,
Arry_Localidad_opc082,
Arry_Localidad_opc083,
Arry_Localidad_opc084,
Arry_Localidad_opc085,
Arry_Localidad_opc086,
Arry_Localidad_opc087,
Arry_Localidad_opc088,
Arry_Localidad_opc089,
Arry_Localidad_opc090,
Arry_Localidad_opc091,
Arry_Localidad_opc092,
Arry_Localidad_opc093
);
function opcion(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}
function opcionMun(oCntrl, iPos, sTxt, sVal){
var selOpcionMun=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcionMun);
}
function cambia_Estado(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < Lista_Estados[nSelected].length; i++)
opcion(oCntrl, i, Lista_Estados[nSelected][i], String(i));
}
function cambia_Municipio(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var j = 0; j < Lista_Municipios[nSelected].length; j++)
opcionMun(oCntrl, j, Lista_Municipios[nSelected][j], String(j));
}
function llena(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
for(var k = 0; k < Arry_Estado.length; k++)
opcion(oCntrl, k, Arry_Estado[k], String(k));
}
El resultado: como mencione antes, los dos primeros combox trabajan bie. El problema esta en el tercero. ¿me hace falta algo? o esta mal mi codigo.
Espero alguien pueda ayudar a este novato