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

No sé si lo que he hecho es una 'burrada' porque no sé casi nada de javascript, he probado lo que me comentas de poner todo en una variable (que no sé cómo se usan en javascript) y en un div llamar a la variable con innerHTML (que tampoco sé cómo se usa) por supuesto no me funciona me parece que tengo que aprender javascript desde el principio....


Código Javascript:
Ver original
  1. <script>
  2. var combo_ciudad ='
  3. function componCiudades($id_pais_com){
  4. document.formulario.id_ciudad.length=0;
  5. document.formulario.id_ciudad.options[0] = new Option("-- Ciudad --","","defaultSelected","");
  6. var indice=1;
  7.  
  8. <?php
  9. while($row_ciudad_list = $result_ciudad_list->fetch_assoc()){
  10.     $nombre_ciudad = $row_ciudad_list["nombre"];
  11.     $id_ciudad_com = $row_ciudad_list["id_ciudad"];
  12.     $id_pais_com_city = $row_ciudad_list["id_pais"];
  13.  
  14. ?>
  15.  
  16. if($id_pais_com=='<?=$id_pais_com_city?>'){
  17.     document.formulario.id_ciudad.options[indice] = new Option("<?=$nombre_ciudad?>","<?=$id_ciudad_com?>","","");
  18.     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
  19.     indice++;
  20.     }
  21. <?php } ?>
  22. }
  23. '
  24. document.getElementById(combo_ciudad).innerHTML='combo_ciudad';
  25. </script>
  26. <?php
  27.  
  28. echo "<div id='combo_ciudad'>";
  29. echo "<select name='id_ciudad' style='width:186px;' id='id_ciudad'>\n";
  30. echo "<option value=''>--Ciudad--</option>\n";
  31.     // Si existe el país, saco el listado de sus ciudades
  32.     if ($id_pais!="") echo "<script>componCiudades('".$id_pais."');</script>";
  33. echo "</select>\n\n";
  34. echo "</div>";
  35.  
  36. ?>