Foros del Web » Programando para Internet » Jquery »

autocomplete con jquery

Estas en el tema de autocomplete con jquery en el foro de Jquery en Foros del Web. Hola, tengo un input que uso como autocompletable con la libreria jquery para mostrar ciudades. luego tengo otro input autocompletable para sacar calles...cada uno tira ...
  #1 (permalink)  
Antiguo 25/01/2010, 10:15
 
Fecha de Ingreso: abril-2006
Mensajes: 54
Antigüedad: 18 años
Puntos: 1
autocomplete con jquery

Hola, tengo un input que uso como autocompletable con la libreria jquery para mostrar ciudades.
luego tengo otro input autocompletable para sacar calles...cada uno tira de un archivo php independiente con una consulta a la base de datos.


lo ideal sería que pudiese sacar en este 2º input las calles DE la ciudad elegida en el primer input, no de todas las ciudades a la vez. ¿es posible esto?
  #2 (permalink)  
Antiguo 25/01/2010, 13:01
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: autocomplete con jquery

Simple, la funcion del 2° input debería leer el valor del 1° input antes de realizar la consulta a la BD, a la query, en ese caso, podrias agregarle la condición
where idCiudad="valor1°input"
__________________
I am Doyle please insert code.
  #3 (permalink)  
Antiguo 26/01/2010, 01:32
 
Fecha de Ingreso: abril-2006
Mensajes: 54
Antigüedad: 18 años
Puntos: 1
Respuesta: autocomplete con jquery

si gracias, el tema es como pasarle el valor del input.
ese input usa una función jquery para autocompletarlo que recoge el parametro $_GET["q"] para hacer la consulta.
Este "q" es el valor del propio input, pero yo necesitaría pasarle el valor del otro input y no se como hacerlo puesto que todo se hace sin hacer ningún postback....
  #4 (permalink)  
Antiguo 26/01/2010, 01:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 26/01/2010, 06:03
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: autocomplete con jquery

Pasasela por GET. Siempre que hagas una consulta a PHP vas a tener un nombre de archivo, asi que sugiero que cambies dinamicamente ese nombre, y le pases una variable GET:

procesador.php?ciudad=Malaga

Fijate también si tu plugin no te permite pasar las variables en una linea aparte, sin usar el "?".
  #6 (permalink)  
Antiguo 26/01/2010, 07:20
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Pregunta Respuesta: autocomplete con jquery

yo uso autocomplete de jquery y no hay problemas al pasar variables por $_GET, se pueden recuperar sin problemas!

Código PHP:
$nom_pai $_GET['nom_pai'];
$sql "select * from ciudad where nom_pai='$nom_pai'";
$ciu mysql_query($sql);
whil($rs_ciu mysql_fetch_assoc($ciu)){
  
/* toda tu impresión */

__________________
blog: hector2c.wordpress.com
email: [email protected]
  #7 (permalink)  
Antiguo 26/01/2010, 08:52
 
Fecha de Ingreso: abril-2006
Mensajes: 54
Antigüedad: 18 años
Puntos: 1
Respuesta: autocomplete con jquery

ante todo muchas gracias a todos por intentar ayudarme.

lo que decis es correcto, pero el problema es que los 2 input tienen un autocomplete cada uno que trabajan digamos...en paralelo.
1- MUNICIPIO.....
2- CIUDAD...

Uno se completa con una consulta que busca municipios y el 2º debería sacar ciudades del municipio elegido en el primer autocomplete, pero que ahora sólo saca calles sin filtrado por municipio.

Puede acceder a los $_REQUEST pero sólo tienen los valores que había al aparecer la pantalla de los inputs y no los valores que los autocompletes dejan en los inputs....

es lógico pues el javascript se ejecuta en el cliente, pero seguro que hay algo que se pueda hacer con jquery para acceder a ello...no se si me expliqué mejor ahora.
  #8 (permalink)  
Antiguo 26/01/2010, 10:29
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: autocomplete con jquery

hola javitineo, debes usar ajax!, una vez escojido el país (puedes controlarlo con un keypress, change, etc), ejecutas el ajax y vuelves a construir el segundo input de ciudades con autocomplete, en caso tengas algun problema puedes agregarme a [email protected]... suerte...
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #9 (permalink)  
Antiguo 27/01/2010, 01:28
 
Fecha de Ingreso: abril-2006
Mensajes: 54
Antigüedad: 18 años
Puntos: 1
Respuesta: autocomplete con jquery

gracias, ya me imaginaba que había que hacerlo con ajax, ¿tendrás un ejemplo o un sitio donde puedan explicar como hacerlo?
  #10 (permalink)  
Antiguo 27/01/2010, 06:50
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: autocomplete con jquery

Es que si estás usando autocompletado ya estás usando ajax!

La función del autocompletado acepta un callback. Y podes ejecutar lo que quieras al recibir respuesta del lado servidor.

Tu segunda llamada al autocompletado (ajax) ya tiene la posibilidad de restringir la busqueda. Solo es necesario pasar un parametro adicional, que es el que se recibió anteriormente, en el primer ajax.

Por favor publica tu codigo asi sabemos de que automcplete se trata. Y de ser posible, el link a la pagina del autor.
  #11 (permalink)  
Antiguo 27/01/2010, 08:22
 
Fecha de Ingreso: abril-2006
Mensajes: 54
Antigüedad: 18 años
Puntos: 1
Respuesta: autocomplete con jquery

HTML:
Municipio: <input type="text" id="municipio" name="municipio" '.$disabled.' size="30" value="'.$_REQUEST['municipio'].'" />
<span class="calle">Calle:</span> <input type="text" id="calle" name="calle" size="30" />

EL SCRIPT:
<script type="text/javascript">
jQuery().ready(function() {

jQuery("#calle").autocomplete("centros/BuscadorCalles.php?municipio='.$_REQUEST['municipio'].'",
{minChars: 1,
max:25,
width: 200,
highlight: false,
scroll: false,
scrollHeight: 300,
matchContains: true,
autoFill: true,
formatItem: function(row, i, max) {return row[0];}
});
jQuery("#municipio").autocomplete("centros/BuscadorMunicipios.php",
{minChars: 1,
max:25,
width: 200,
highlight: false,
scroll: false,
scrollHeight: 300,
matchContains: true,
autoFill: true,
formatItem: function(row, i, max) {return row[0];}

</script>

Y EL PHP DE UNO DE LOS AUTOCOMPLETE (el lotro es similar)

<?php
//Buscador que devuelve un listado de zonas a partir de una parte de su nombre. Usado por los "textbox" para autorrellenarse
include ("comun/agente_mysql.inc");
$agenteSQL = new agente_bd_work("auth/datos.txt");

//El autorrellenar siempre nos indica en el parámetro "q" lo que ha escrito el usuario
$q = strtolower($_GET["q"]);

if (!$q) return;

//Preparamos la consulta SQL
$queryOriginal = "
SELECT distinct viapobla as calle FROM codpostales ";


$queryOriginal .= " co inner join centros c on c.codlocalidad=co.codlocalidad
inner join codigosmunicipios m on m.codmunicipio=c.codmunicipio and descripcion='".$_REQUEST['municipio']."'";

$queryOriginal .= " where viapobla not like '%CODIGO%' and viapobla like '%".$q."%' order by viapobla";

$queryFinal = $queryOriginal;

$resultado=$agenteSQL->ejecutaselectbucleUNACONSULTA($queryFinal);

while ($row = mysql_fetch_array($resultado) )
{
$calle=$row['calle'];

echo "$calle\n";
}//Fin del WHILE


?>
  #12 (permalink)  
Antiguo 27/01/2010, 08:58
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: autocomplete con jquery

Cita:
centros/BuscadorCalles.php?municipio='.$_REQUEST['municipio']
Aqui estas queriendo usar PHP? Pero no hay ninguna llave php como para permitir codigo. Ademas, siendo que usas ajax en la primera consulta, no hay recarga de pagina, y lo que cargues con PHP no será actualizado...

Me parece que esto vale para enviar resultados en la segunda consulta:
Cita:
extraParams : { ciudad: $("#x").val() }

Pero como obtener los resultados? Yo estoy viendo este ejemplo:
http://jquery.bassistance.de/autocomplete/demo/

Fijate que al seleccionar el mes, este aparece al pie de pagina. O sea que hay una función que maneja la respuesta, pero todavía no se cual es...

Etiquetas: autocompletado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:20.