Я использую автозаполнение jquery-ui для получения некоторых результатов с сервера. Я хочу отфильтровать результаты на стороне клиента на основе клиентской функции. Как мне это сделать?Как фильтровать результаты в автозаполнении перед отображением?
Вот псевдокод, что я хочу:
function is_valid_value(item) {
// returns true if item is valid, false otherwise
}
$("#some-text-field").autocomplete({
source: $.get('url/path/to/autocomplete.json?term=abc', function(data) {
// item is an element in the data collection
return data.filter(item) {
return is_valid_value(item);
}
})
}
Я знаю, что это не работает на нескольких уровнях - я не фактический срок пройти, и я также получаю ошибку синтаксиса - Неожиданный токен {
на линии return data.filter(item) {
. Я также посмотрел на ajaxSuccess
, который, как представляется, используется в основном для оповещения пользователя об успешном завершении - я не знаю, можно ли его использовать для фильтрации данных и их возврата.
в Jquery UI API вы можете найти: '$ ("#autocomplete") .autocomplete ({ источник: функция (запрос, ответ) { вар согласовани = новый RegExp ("^" + $ .ui.autocomplete. escapeRegex (request.term), «i»); ответ ($ .grep (теги, функция (элемент) { return matcher.test (item); })) } }); – Saar