![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
el código es:
<html>
<head>
<script language="JavaScript">
/* Trae desde la base de datos los nombres de los paises */
/* y colóos en este arreglo. */
var aPaises = new Array(" ","Mexico","Espana","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 Mexico","Monterrey","Guadalara"
);
var aEstados2 = new Array(" ","Madrid","Barcelona","San Sebastian"
);
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úemento. */
var aEstados = new Array( aEstados0, aEstados1, Estados2, 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>