AJAX - Ha de ser muy facil, pero yo no se como

 
Vista:
sin imagen de perfil

Ha de ser muy facil, pero yo no se como

Publicado por Carlos (7 intervenciones) el 14/12/2006 20:03:48
Buen dia,
La verdad no tengo la menor idea de hacer algo con ajax, y me ha surgido un problema q' puede ser dolucionado por medio de este,
Agradesco mucho su ayuda y comprension.
El problema es el siguiente
En una consulta de Mysql traigo los departamentos del pais mostrandolos en un Select, y mas abajo tengo otro select donde me muestra las ciudades y municipios de cada uno, estos tambien vienen de la BD, lo q' quiero hacer es q' cuando el usuario elija el departamento en el select de las ciudades me muestre las ciudades y municipios de este, mas no me muestre todos los q' no se relacionan con el elegido.

<?php
$sql="SELECT departamento,id
FROM departamentos
ORDER BY departamento";
$ssql=mysql_query($sql);
?>
<select name="departamento">
<?
while($sqql=mysql_fetch_array($ssql))
{
echo "<option value=".$sqql[1].">".$sqql[0]."</option>";
}
?>
</select>
<?php
$sql_ad="SELECT ciudad,id
FROM ciudades
ORDER BY ciudad";
$ssql_ad=mysql_query($sql_ad);
?>
<select name="adscrito"style="width:293px">
<?php
while($sqql_ad=mysql_fetch_array($ssql_ad))
echo "<option value=".$sqql_ad[1].">".$sqql_ad[0];

?>
</select>
Muchas gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ha de ser muy facil, pero yo no se como

Publicado por Aritz (32 intervenciones) el 15/12/2006 08:10:13
Mas o menos esta sería la funcion de Javascript que necesitas para crear el combo. Primero cargas la opcion del primer select (if(valor == 0)) y sino haces la peticion y creas las opciones del segundo select. Para más información, puedes buscar por ejemplo en google "doble combo" que es como se le llama a lo que quieres hacer (si no me equivoco... que es posible puesto que soy nuevo en el mundo de AJAX)

var valor=document.getElementById("select_0").options[document.getElementById("select_0").selectedIndex].value;
if(valor==0)
{
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto
combo=document.getElementById("select_1");
combo.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Selecciona Pais...";
combo.appendChild(nuevaOpcion); combo.disabled=true;
}
else
{
ajax=nuevoAjax();
ajax.open("GET", "select_dependientes_proceso.php?seleccionado="+valor, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Elige pais" y pongo una que dice "Cargando"
combo=document.getElementById("select_1");
combo.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
combo.appendChild(nuevaOpcion); combo.disabled=true;
}
if (ajax.readyState==4)
{
document.getElementById("fila_2").innerHTML=ajax.responseText;
}
}
ajax.send(null);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ha de ser muy facil, pero yo no se como

Publicado por Carlos (7 intervenciones) el 15/12/2006 17:41:19
Muchas gracias por la respuesta, he seguido el consejo de consultar en google y me encontre con una pagina q' me muestra el codigo y lo hace a la prefeccion pero esta escrito en ASP, lo cual no manejo.
No se si seria mucha molestia, q' por favor me enviara este codigo como debe funcionar a mi correo para tener algo mas de idea.
Muchas gracias por la colaboracion y la respuesta me ayudo bastante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar