Estoy haciendo lo siguiente:
Código PHP:
<?php
echo "<select name='id_pais' style='width:186px;' id='id_pais' onChange='componCiudades(this.value)'>\n";
echo "<option value=''>--País--</option>";
while ($row_pais_list = $result_pais_list->fetch_assoc()){
$id_pais_com = $row_pais_list["id_pais"];
$nombre_pais = $row_pais_list["nombre"];
echo "<option value='" .$id_pais_com. "'";
if ($id_pais_com==$id_pais) echo " selected='selected' ";
echo ">" .$nombre_pais. "</option>\n";
}
echo "</select>\n\n";
?>
<script>
function componCiudades($id_pais_com){
document.formulario.id_ciudad.length=0;
document.formulario.id_ciudad.options[0] = new Option("-- Ciudad --","","defaultSelected","");
var indice=1;
<?php
while($row_ciudad_list = $result_ciudad_list->fetch_assoc()){
$nombre_ciudad = $row_ciudad_list["nombre"];
$id_ciudad_com = $row_ciudad_list["id_ciudad"];
$id_pais_com_city = $row_ciudad_list["id_pais"];
?>
if($id_pais_com=='<?=$id_pais_com_city?>'){
document.formulario.id_ciudad.options[indice] = new Option("<?=$nombre_ciudad?>","<?=$id_ciudad_com?>");
if($id_ciudad_com=='<?=$id_ciudad?>'){document.formulario.id_ciudad.options[indice] = new Option("<?=$nombre_ciudad?>","<?=$id_ciudad_com?>","defaultSelected","");}
indice++;
}
<?php } ?>
}
</script>
<?php
echo "<select name='id_ciudad' style='width:186px;' id='id_ciudad' onChange='componPoblaciones(this.value)'>\n";
echo "<option>--Ciudad--</option>\n";
// Si existe el país, saco el listado de sus ciudades
if ($id_pais!='') echo "<script>componCiudades('".$id_pais."');</script>";
echo "</select>\n\n";
?>
Código HTML:
<script> if($id_ciudad_com=='<?=$id_ciudad?>'){document.formulario.id_ciudad.options[indice] = new Option("<?=$nombre_ciudad?>","<?=$id_ciudad_com?>","defaultSelected","");} </script>
Gracias!