Действительно ли возможно запретить бесплатный ввод текста в виджете автоматического заполнения UI JQuery?
например, я только хочу, чтобы пользователь был разрешен выбрать из списка объектов, которые представлены в списке автоматического заполнения и не хотят, чтобы они смогли записать некоторый случайный текст.
Я ничего не видел в демонстрациях/документах, описывающих, как сделать это.
http://jqueryui.com/demos/autocomplete/
Я использую автоматическое заполнение как это
$('#selector').autocomplete({
source: url,
minlength: 2,
select: function (event, ui) {
// etc
}
Одним из способов может быть использование дополнительной проверки при отправке формы (если вы используете форму), чтобы выделить ошибку, если текст не является одним из допустимых вариантов.
Другим способом может быть присоединение к событию изменения автозавершения, которое будет происходить, даже если опции не выбраны. Затем можно выполнить проверку, чтобы убедиться, что введенный пользователем текст находится в списке, или вывести ошибку, если он не выбран.
Как насчет опции mustMatch?
'Если задано значение true, автозаполнение будет разрешать только результаты, представленные серверной частью. Обратите внимание, что недопустимые значения приводят к пустому вводу».
Если вы хотите, чтобы пользователь просто получил элемент из списка, используйте поле со списком автозаполнения.
http://jqueryui.com/demos/autocomplete/#combobox
HTH