Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JQuery] Opóźnienie wykonania akcji
Forum PHP.pl > Forum > Przedszkole
mariuszg
Witam,

Wykorzystując JQuery pobieram dane bez przeładowania strony.

Jak wpiszę coś w inputa (#pole) to jest to przekazywane poprzez post i wyświetla się wynik.

Ale ta akcja dzieje się podczas wpisania każdej literki, a chciałbym aby nastąpiła po jednej sekundzie od zakończenia pisania. Kombinuję i nic mi nie wychodzi.
Nie chodzi mi o wykonanie akcji np po wpisania 4 znaków, chodzi o odstęp czasowy po wpisania.


To działa ale po każdej literce:

  1.  
  2. $( document ).on( "keyup", "#pole" , function() {
  3.  
  4. $('#pole').unbind('click');
  5.  
  6. $("#pole").keyup(function(){
  7.  
  8. $.post("dane.php",{
  9. q: $("#pole").val()
  10. },
  11.  
  12. function(data,status){
  13. $("#out").html( data );
  14.  
  15. });
  16.  
  17. });
  18.  
  19.  
  20. });
  21.  


Proszę o wsparcie

Pozdrawiam
trueblue
Wywołuj ajax korzystając z setTimeout.
Przypisz zarówno to co zwróci ajax oraz setTimeout do zmiennych.
Zawsze przed wywołaniem setTimeout czyść timeout (clearTimeout) i zaniechaj żądania ajax (abort()) korzystając z dwóch powyższych zmiennych.
mariuszg
A msza jakiś przykład bo to na mnie zbyt skomplikowane, nad tym co pisałem spędziłem 2h
pitu
Tutaj masz przykład, dostosuj do siebie:
http://stackoverflow.com/a/3028720/3735229
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.