По умолчанию плагин использует метод $.ui.autocomplete.filter
. Этот метод выполняет grep, используя регулярное выражение для свойств метки / значения данных, и возвращает отфильтрованные данные. Давайте вдохновимся на то, чтобы сделать нашу фильтрацию.
Чтобы использовать собственный метод фильтрации, используйте параметр source
в качестве обратного вызова.
параметр request
- это объект, содержащий одно свойство term
. Он содержит текст для поиска, в основном значение поля ввода. Поэтому, если вы введете «en» в поле ввода, request.term
будет иметь это значение.
параметр response
является обратным вызовом. Вы вызываете его, передавая отфильтрованные данные, для отображения данных, в основном, отображая всплывающее меню результатов.
Таким образом, в основном вы фильтровали бы свои данные и передавали отфильтрованный массив обратному вызову `response´.
Вот один из способов сделать это:
$("#myTextBox").autocomplete({
source: function(request, response) {
// filter your data
var data = $.grep(myList, function(value) {
return value.substring(0, request.term.length).toLowerCase() == request.term.toLowerCase();
});
// pass it to the response callback for display
response(data);
}
});
DEMO