Можно ли отключить элемент списка в автозаполнении, чтобы он не был выбран (и неактивен)?Как отключить элемент в списке автозаполнения jQuery
У меня этот код, взятый из примера страницы JQuery UI:
HTML:
<input id="tags" />
JQuery:
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#tags").autocomplete({
source: availableTags
});
});
В качестве примера - можно отключить последний элемент, если в списке больше 3 элементов?
В моем реальном коде у меня есть запрос AJAX, но я не хочу показывать более 20 результатов в поле автозаполнения, поэтому, если их больше, это должно показать что-то вроде «сузите свой поиск», и отключить последний элемент, поэтому он не может быть выбран (но только последний элемент должен быть отключен).
Приведенный выше код здесь с Скрипки демо, http://jsfiddle.net/m6zvf/
Это почти отлично работает, кроме прокрутки элементов с помощью клавиатуры, можно выбрать отключенный элемент (это невозможно с помощью мыши). Как избежать выбора с помощью клавиатуры? – DHS
@JohnMalli См. Обновление, я исправил проблему с помощью клавиатуры, также не знаю, заметили ли вы, но есть способ сделать параметры прокручиваемыми, не знаю, хотите ли вы что-то, что вам нужно, а не ограничивать количество отображаемые параметры http://jqueryui.com/autocomplete/#maxheight –
Любое предложение о том, что делать, если вы в итоге получаете _no выбираемые элементы в списке_? Таким образом, единственный отображаемый объект является одним из отключенных от ui состояний. Пользовательский интерфейс JQuery в 1.12 выбрасывает крупную шикарную форму. В 1.9 это только мешает вам выбрать что-либо новое – rythos42