У меня есть следующий код поиска:
autocomplete('#search-input', {hint: false, autoselect: true}, [
{
source: autocomplete.sources.hits(contacts, { hitsPerPage: 3 }),
displayKey: 'CustomerName',
templates: {
header: '<div class="leftMargin5"><b>Contacts</b></div>',
suggestion: function(hit) {
return templateContact.render(hit);
}
}
},
{
source: autocomplete.sources.hits(products, { hitsPerPage: 5 }),
displayKey: 'ProductDescription',
templates: {
header: '<div class="leftMargin5"><b><Products</b></div>',
suggestion: function(hit) {
return templateProduct.render(hit);
}
}
}
]).on('autocomplete:selected', function (event, suggestion, dataset) {
//DoSomething
}).on('autocomplete:autocompleted', function (event, suggestion, dataset) {
//DoSomething
});
Моя проблема в том, что когда я начинаю печатать в поле поиска, выбирается верхний элемент, и текст в поле поиска устанавливается на это совпадение. Я не могу продолжать вводить или удалять текст в поле поиска. Ввод или удаление просто продолжает выбирать исходное совпадение.
Я пытаюсь выделить первый хит, чтобы выбрать его при вводе, но я хочу иметь возможность продолжать печатать или выбирать другой элемент, если верхний не тот, который я ищу.
Если я уберу опцию autoselect: true, окно поиска будет работать, но, конечно, без функции автовыбора.