Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problema con un buscador de usuarios

Estas en el tema de problema con un buscador de usuarios en el foro de Frameworks JS en Foros del Web. hola muchachos bueno pues te le comento tengo un problema. estoy haciendo un buscador de usuarios al estilo facebook o twitter. ejemplo en twitter cuando ...
  #1 (permalink)  
Antiguo 08/02/2013, 08:03
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 12 años
Puntos: 2
Información problema con un buscador de usuarios

hola muchachos bueno pues te le comento tengo un problema. estoy haciendo un buscador de usuarios al estilo facebook o twitter. ejemplo en twitter cuando uno va a escribir un nuevo twitt y en ese twitt poner @ se muestra abajo todos los usuarios parecidos a lo que estas escribiendo. lo mismo pasa en facebook. bueno depues de analizar como podria hacerlo saque las siguientes conclusiones:

1) se debe de hacer con un keyup(); de jquery,
2) separar el estring que se esta contruyendo en espacios var splits=link.split(" ");
3) y con cada una de los indices averiguo si comienza con @
4) despues hago la consulta con la bd y el muestra el resultado de los usuarios parecidos.

codigo:
Código Javascript:
Ver original
  1. $('#atxt_comentario, #atxt_comentario2').keyup(function(){                    
  2. var link=$(this).val();
  3. var splits=link.split(" "); //separa por espacios
  4. var a= splits.length; //cuenta las los indices
  5. var b=0;
  6. for(b=0;b<=a;b++){  
  7.     var parte=splits[b].substr(0,1);
  8.      console.log(splits[b]);
  9.     if(parte=='@') //por cada uno de las idices verifica si comienza con @
  10.         {
  11.             var datos='nick='+splits[b].substr(1); //envia a chat.php el dato y espero respuestas
  12.             $.ajax({
  13.                 type: 'POST',
  14.                 url:'../BusHistMensa/chat.php',
  15.                 data: datos,
  16.                 cache: false,
  17.                 success:function(abc){
  18.                     $('#nicksan').html(abc); //muestra las respuestas en #nicksan
  19.              splits[b]='yabwdy';
  20.                 }
  21.             });
  22. //             console.log(splits[b]);
  23.         }else
  24.         { $('#nicksan').html('');}  
  25. }
  26. });

funciona!! si muestra a los usuarios pero el problema es que despues de que salga del usuario osea con la frase sigue estando el div del usuario abajo no se desaparece. por ejemplo escribo:
hola @carolyu12 como estas!!
pues despues de escribir el usuario y continuar con la frase sigue abajo apareciendo y miro por consola y sale que por cada click (keyup) que yo doy el hace el mismo proceso de arriba osea que hace la consulta!! la verdad chicos le di anoche hasta tarde pero jumm seguia el error. y otra cosita como hago para que sea escogible ese div osea ejemplo que se parezca a la etiqueta html OPTION y que se pueda escojer de los div que muestra la consulta de los usuarios??

bueno chicos espero me haya esplicado bn gracias cuaalquier duda respondere
  #2 (permalink)  
Antiguo 08/02/2013, 10:32
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Información Respuesta: problema con un buscador de usuarios

Hola sonickseven, que tal.
Cita:
Iniciado por sonickseven Ver Mensaje
funciona!! si muestra a los usuarios pero el problema es que despues de que salga del usuario osea con la frase sigue estando el div del usuario abajo no se desaparece.
En ninguna parte de tu código veo que hayas implementado esa funcionalidad: algo como un .fadeIn() o un .html()
para ocultar o limpiar el div respectivamente.

Cita:
Iniciado por sonickseven Ver Mensaje
por ejemplo escribo:
hola @carolyu12 como estas!!
pues despues de escribir el usuario y continuar con la frase sigue abajo apareciendo y miro por consola y sale que por cada click (keyup) que yo doy el hace el mismo proceso de arriba osea que hace la consulta!!
Lo que deseas es que solo consulte cuando lo que escribas esta precedido por el "@". Tu validación esta mal, ya que en la linea 2 estas tomando todo el valor del elemento.

Cita:
la verdad chicos le di anoche hasta tarde pero jumm seguia el error. y otra cosita como hago para que sea escogible ese div osea ejemplo que se parezca a la etiqueta html OPTION y que se pueda escojer de los div que muestra la consulta de los usuarios??
Hasta para esto último te servirá JQueryUI, especificamente el widget autocomplete
  #3 (permalink)  
Antiguo 08/02/2013, 21:33
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 12 años
Puntos: 2
Respuesta: problema con un buscador de usuarios

Cita:
Iniciado por gebremswar Ver Mensaje
Hola sonickseven, que tal.

En ninguna parte de tu código veo que hayas implementado esa funcionalidad: algo como un .fadeIn() o un .html()
para ocultar o limpiar el div respectivamente.
si claro utilizo un .html() en la linea 18 y el link que me diste no me funciona regalame otro por favor :D
  #4 (permalink)  
Antiguo 09/02/2013, 10:10
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: problema con un buscador de usuarios

Vaya al parecer la url se agregó mal.

Como te decía podrías utilizar el widget autocomplete para desarrollar completamente tu "buscador", será más fácil que crearlo desde cero ya que implementa muchas funcionalidades.

Pruébalo y coméntanos.
  #5 (permalink)  
Antiguo 10/02/2013, 10:09
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 12 años
Puntos: 2
Respuesta: problema con un buscador de usuarios

bueno pues ya he encontrado documentacion pero hay un problema y es que se hace el autocomplete solo con el primer caracter ejemplo:
@ja y me muestra sujerencias
pero si lo hago asi:
amigo @jav no muestra nada

pues estoy buscando una solucion haber si sale algo que me solucione ese problema de todas maneras gracias y cuando tenga el resultado espereado lo mostrare

Etiquetas: ajax, funcion, html, php, usuarios
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 01:35.