Hola
Alexis88, ahora si funciona el codigo que has puesto aqui, todo bien, ahora vere si lo puedo adaptar con php y sus arrays, gracias
Código HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/xhtml; charset=utf-8" />
<title>Select</title>
</head>
<body>
<section> Continente:
<select id = "continente">
<option value = "America">América</option>
<option value = "Europa">Europa</option>
</select> </section>
<section> País: <select id = "pais"></select> </section>
<section> Ciudad: <select id = "ciudad"></select> </section>
<script type="text/javascript">
//<![CDATA[
var comboCont = document.getElementById("continente"),
comboPais = document.getElementById("pais"),
comboCiud = document.getElementById("ciudad"),
continentes = {
America: {
USA: ["San Francisco", "Seattle", "San Antonio"],
Perú: ["Lima", "Tacna", "Cusco"],
México: ["México D.F.", "Tijuana", "Guadalajara"]
},
Europa: {
España: ["Barcelona", "Valencia", "Madrid"],
Italia: ["Roma", "Venecia", "Milano"]
}
},
cambiaCiudad = function(contVal, paisVal){
var pais = continentes[contVal][paisVal];
comboCiud.innerHTML = null;
for (var j in pais){
var opt = document.createElement("option");
opt.value = pais[j];
opt.innerHTML = pais[j];
comboCiud.appendChild(opt);
}
},
cambiaPais = function(contVal){
var cont = continentes[contVal];
comboPais.innerHTML = null;
for (var i in cont){
var opt = document.createElement("option");
opt.value = i;
opt.innerHTML = i;
comboPais.appendChild(opt);
}
cambiaCiudad(contVal, comboPais.value);
};
comboCont.onchange = function(){
cambiaPais(this.value);
};
comboPais.onchange = function(){
cambiaCiudad(comboCont.value, this.value);
};
cambiaPais(comboCont.value);
//]]>
</script>
</body>
</html>