Не рекомендуется загрязнять возвращаемый объект jQuery, как $('#searchBar').value = 'blah'
- вместо этого вы должны использовать метод .data
:
Вам вообще не нужен searchBar, просто поместитетаймер на соответствующем элементе ввода.Я всегда добавляю префикс jQuery к $
для лучшего понимания.
$input = $('#searchBar input[name="q"]');
var sendQuery = function() {
alert('SEND AJAX HERE');
};
$input.keyup(function() {
var timer = $(this).data('timerID');
if (timer) {
clearTimeout(timer);
}
$(this).data('timerID', setTimeout(sendQuery, 1000));
});