Citat:
Originalno napisao Croll
ali mislim da će mi biti problem čekanje na pauzu u kucanju.
|
Npr.
Možeš odraditi tako što ćeš ajax zahtev slati sa malom pauzom, pomoću funkcije setTimeout.
Kôd:
var timeoutID = null;
function lookup(inputString) {
if(inputString.length == 0) {
$('#searchresults').hide();
} else {
clearTimeout(timeoutID);
timeoutID = setTimeout(function () {
$.post("ajaxsearch.php", {q: ""+inputString+""}, function(data){
if(data.length >0) {
$('#searchresults').show();
$('#searchresults').html(data);
}
});
}, 300);
}
}
Dakle kada korisnik ukuca jedan karakter, id timeout-a biće zapisan u promenljivu timeoutID, ukoliko korisnik unese novi karakter pre isteka timeout-a, obrisaće se stari id, odnosno poništiće prethodni zahtev, pomoću clearTimeout i biće registrovan nov id, odnosno poslaće novi ajax zahtev, i tako sve dokle korisnik ne napravi pauzu u kucanju dužu od 300ms ili u zavisnosti vrednosti koju ti definišeš.