Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2012, 13:26
Avatar de SirDuque
SirDuque
 
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Como controlar la ejecucion de una funcion varias veces.

hola chicos, no creo que el titulo sea claro, pero el problema es el siguiente:

Sin entrar en codigos complicados voy a tratar ser claro.

Es un buscador con un input y un table o select que se completa con la busqueda

El campo input donde empiezan a escribir por ejemplo: LOP ( LOPEZ).
ejecuta esta funcion
Código Javascript:
Ver original
  1. $('#input').keyup(function(){
  2.  
  3.       $.post(
  4.                    'url',
  5.                    {variables:variables},
  6.                    function(data){
  7. //codigo que completa la tabla.
  8.                    },json);
  9.  
  10.  
  11. });

El problema es que cada vez que escriben una letra, se ejecuta la funcion y recibe la respuesta por metodo JSON. ¿Q tiene de malo esto?

Bueno el problema es el siguiente:

el archivo.php

primero busca por la L
despues por LO
despues por LOP
despues por LOPE
y por ultimo por LOPEZ

por una diferencia de segundo PUEDE no simpre traerme estos resultados:

LO (23 ms)
LOP (33 ms)
LOPEZ (5 ms)
L (55 ms)
LOPE(15 ms)

O peor aun como la L me traee mas resultados puede que me lo traiga a lo ultimo.
Si el usuario tipeara despacio todas las letras el error no se notaria, pero hay usuario rapidos y se dan cuenta del error.

Alguna funcion o idea como controlar esto?

Gracias desde ya.
__________________
Mono programando!
twitter.com/eguimariano