Ответ 1
Я думаю, что сложная часть этого - это разумное принятие пользовательского ввода. Поэтому я бы сказал, что самое лучшее, что нужно сделать, - это отказаться от поиска в плагине автозаполнения. Как только страница будет готова, вы передадите фокус на текстовое поле ввода, а затем пусть плагин сделает свою магию при поиске...
Например, вы можете использовать плагин quicksearch.
Затем задайте таблицу данных и ввод, подобный этому:
<input id="searcher" type="text" name="searcher">
У вас может быть готовая функция, которая выглядит так:
$('#searcher').quicksearch('table tbody tr', {
'delay': 100,
'bind': 'keyup keydown',
'show': function() {
if ($('#searcher').val() === '') {
return;
}
$(this).addClass('show');
},
'onAfter': function() {
if ($('#searcher').val() === '') {
return;
}
if ($('.show:first').length > 0){
$('html,body').scrollTop($('.show:first').offset().top);
}
},
'hide': function() {
$(this).removeClass('show');
},
'prepareQuery': function(val) {
return new RegExp(val, "i");
},
'testQuery': function(query, txt, _row) {
return query.test(txt);
}
});
$('#searcher').focus();
Попробуйте здесь: http://jsfiddle.net/ZLhAd/369/
РЕДАКТИРОВАТЬ: добавлен другой ответ/комментарий, чтобы сделать вход фиксированным и остановить смещение scobbbar так смешно.