Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2011, 03:50
mariannairam
 
Fecha de Ingreso: julio-2010
Mensajes: 29
Antigüedad: 14 años, 7 meses
Puntos: 2
Pregunta Combo: no funciona bien defaultSelected en Explorer

Hola!

En Firefox y Safari funciona pero en Explorer no me funciona el defaultSelected cuando recibe los datos de la BBDD. Por ejemplo, si el registro tiene País: España, Ciudad: Toledo. Pues el país lo pone bien pero la ciudad me pone la primera del listado; esto solo ocurre con Explorer ¿alguna idea?:

Código PHP:

<?php
// Saco el listado de países

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[0] = new Option("<?=$nombre_ciudad?>","<?=$id_ciudad_com?>","defaultSelected","");} // Si tiene ciudad, la selecciono
    indice++;
    }
<?php ?>
}
</script>
<?php
echo "<select name='id_ciudad' style='width:186px;' id='id_ciudad'>\n";
echo 
"<option value=''>--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";
?>