Select en cascada

Fernando
30 de Mayo del 2005
Hola!!!
por favor, si alguien sabe de un codigo con el que se puedan hacer select de tal manera que si yo escojo un pais en el siguiente campo solo me muestre los estados o departamentos de ese pais y si escoje un estado o departamento muestre solo las ciudades de ese estado o departamento.
Gracias!!!

Zelda Predator
30 de Mayo del 2005
Hola,

Puedes utilizar PHP y base de datos, pero si quieres también hay una manera de hacerlo del lado del cliente, con javascript.

Te pongo un script de ejemplo, a ver si te sirve:

<html>
<head>
<title>Selects dependientes</title>
</head>

<body>
<form name="f1">
<select name=pais onchange="cambia_provincia()">
<option value="0" selected>Seleccione...
<option value="1">España
<option value="2">Argentina
<option value="3">Colombia
<option value="4">Francia

</select>

<select name=provincia>
<option value="-">-
</select>
</form>

<script>
//defino una serie de varibles Array para cada país
var provincias_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
var provincias_2=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...")
var provincias_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
var provincias_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")

//función que cambia las provincias del select de provincias en función del país que se haya escogido en el select de país.
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>
</body>
</html>

Francisco
30 de Mayo del 2005
como se puede hacer utilizando PHP y base de datos. ayuda saludos bye

mi correo es [email protected] y no como puse antes solo fchiuc

Francisco
30 de Mayo del 2005
como se puede hacer utilizando PHP y base de datos. ayuda saludos bye