Уменьшите свою задержку в опциях автозаполнения.Если вы используете локальные данные, вы можете установить задержку на 0. По умолчанию она установлена на 300 (мс).Таким образом, после нажатия клавиши требуется 300 мс, прежде чем он повторно оценивает набор данных на совпадения.
Итак, в основном, ваша автофокусировка на первом элементе, и вы не дали ей возможность отфильтровать перед нажатием Enter.
В качестве альтернативы, вы можете изменить задержку среднего потока после первого автофокуса.Итак, в первый раз, когда вы ждете 300 мс, чтобы показать предложение, затем в событии фокусировки вы уменьшаете таймер до 0 мс, чтобы он быстрее фильтровал список.
Будьте осторожны, поскольку задержка 0 можетвызвать проблемы, если это удаленные данные.Примерно так может хорошо сработать:
$(".selector").autocomplete({
delay: 300,
focus: function () {
$(".selector").autocomplete("option", "delay", 0);
},
source: sourceData
}