Como quedaría el script de abajo si deseo llamar los datos desde una base de datos llamada control donde existe una tabla llamada estados que contiene los campos ID, state,city,postal_code, de manera que al selecionar state aparezcan en el siguiente campo es decir city las ciudades que coresponden a ese estado y en el campo codigo postal el código correspondiente a esa ciudad.
Gracias.
<html>
<head>
<script language="JavaScript">
/* Trae desde la base de datos los nombres de los paises */
/* y colócalos en este arreglo. */
var aPaises = new Array(
" ",
"Mexico",
"España",
"Venezuela"
);
var aEstados0 = new Array(
" "
);
/* Trae desde la base de datos los nombres de las ciudades */
/* de cada uno de los paises de la lista anterior y ponlos */
/* en arreglos individuales. */
var aEstados1 = new Array(
" ",
"Ciudad de México",
"Monterrey",
"Guadalajara"
);
var aEstados2 = new Array(
" ",
"Madrid",
"Barcelona",
"San Sebastián"
);
var aEstados3 = new Array(
" ",
"Caracas",
"Coro",
"Maracay",
"Valencia"
);
/* Arma un arreglo general de estados a partir de los arreglos */
/* anteriores. Es importante que cada arreglo comience por un */
/* valor en blanco y que el primer arreglo de ciudades, llamado */
/* aqui aEstados0, no contenga ningún elemento. */
var aEstados = new Array(
aEstados0,
aEstados1,
aEstados2,
aEstados3
);
function opcion(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}
function cambia(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aEstados[nSelected].length; i++)
opcion(oCntrl, i, aEstados[nSelected][i], String(i));
}
function llena(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aPaises.length; i++)
opcion(oCntrl, i, aPaises[i], String(i));
}
</script>
</head>
<body>
<form name="frm">
Pais
<select name="pais" onchange="cambia(this, document.frm.ciudad)">
<option value=" "> </option>
</select>
Ciudad
<select name="ciudad">
<option value=" "> </option>
</select>
</form>
<script language="JavaScript">
llena(document.frm.pais);
</script>
</body>
</html>