#jquery #autocomplete
#jquery #автозаполнение
Вопрос:
Мне нужно, чтобы даже пользователь не выбирал значение из автозаполнения, он автоматически выбирал первую запись. пожалуйста, посмотрите на мою картинку, если пользователь вводит рис, тогда он автоматически выбирается первым, они нажимают вкладку, это нормально, если они напрямую нажимают курсором на следующий элемент формы, рисовый город не выбран. я не могу получить идентификатор города..
$(function() {
$("#city_name_auto").autocomplete({
selectFirst: true,
delay: 0,
autoFocus: true,
source: function(req, response) {
$.ajax({
url: "auto_sug_all_cityname.php",
dataType: "json",
success: function( data ) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp( "^" re, "i" );
response($.grep(data, function (item){return matcher.test(item.value);}) );
}
});
},
});
});
Ответ №1:
вы можете использовать .autocomplete({Автофокусировка: true}) для выбора первой записи
Ответ №2:
я не знаю вашу разметку html, но вы можете просто вставить строку jquery после того, как вы вставили результат livesearch
//..doing livesearch
$('.option-result-class').first().attr('selected','selected');
или если вы используете класс, чтобы показать пользователю, что он выбрал для перехода
$('.li-result-class').first().addClass('selectedVisualClass');
Комментарии:
1. я использую текстовое поле, а не раскрывающееся окно выбора
2. Я не знаю, что вы подразумеваете под текстовым полем, но если у вас есть настраиваемое «выпадающее» меню, перейдите ко второму варианту, где вы $(‘.li-result-class’).first().addClass(‘selectedVisualClass’); .. и ваш первый li всегда будет визуально выделен