I would have to agree with Strija. Using a setTimeout() is the way I've seen 99% of auto-complete widgets implemented.
Chris On Jul 19, 10:14 am, batobin <[EMAIL PROTECTED]> wrote: > Very interesting idea. So, if I understand you correctly, an AJAX > request is only made if a person stops typing for 300 milliseconds? > > It's not the perfect solution since receiving results is now delayed > an extra 300ms. And there's still a chance for choppy results if a > person is on a very bad internet connection and types new letters > every 301ms. But it's light years ahead of my current algorithm, > thanks! > > Unless someone else chimes in it looks like I'll be implementing it > this way. > > BT > > On Jul 17, 1:16 am, Strija <[EMAIL PROTECTED]> wrote: > > > > > > > On Jul 16, 11:15 pm, batobin <[EMAIL PROTECTED]> wrote: > > > > Hello everyone. This is a general question about stopping (or > > > overriding) an AJAX call once it has been made. In order to illustrate > > > my question I can give a specific example, but I'm sure this topic is > > > applicable to many people besides myself... > > > I have done something similar, but i used setTimeout. So a request is > > not made everytime when someone is typing. > > Actually it's quite simple. The function refres_list() diplays the > > results. Hope it helps. > > My code looks like this: > > > var search_timeout = false; > > $("#quick-search").keypress(function() { > > clearTimeout( search_timeout ); > > search_timeout = setTimeout(function() { > > refresh_list(); > > }, 300); > > > });