Ограничить количество результатов автозаполнения JQuery UI с использованием функции слайса

0

У меня такой же вопрос, как: Ограничить результаты автозаполнения jquery ui с помощью функции slice, искал решение (кроме скрытия с использованием CSS) в течение последних 2 часов или около того.

Я хочу добавить эту функцию slice, здесь: qaru.site/questions/57247/...

$("#auto").autocomplete({
source: function(request, response) {
    var results = $.ui.autocomplete.filter(myarray, request.term);

    response(results.slice(0, 10));
   }
});

И я хотел бы, чтобы он работал со сценарием в этом примере: http://jsfiddle.net/h5E6C/ (не мой массив/скрипт, но моя настройка похожа).

Я ищу решения этого вопроса, поэтому, пожалуйста, не отвечайте на предложение использовать PHP/SQL для фильтрации данных перед отправкой и т.д. Не значит быть грубым..

Я могу заставить любой скрипт работать независимо друг от друга, но не вместе:/

  • 0
    Почему вы просто не используете опцию minlength?
  • 0
    потому что я использую поиск, чтобы найти номер комнаты в нескольких зданиях. Если кто-то наберет «2» или «5», было бы неплохо, чтобы он начал заполнять результаты. (в случае отсутствия комнаты длина всего 1 номер (т.е. номер № 8))
Показать ещё 2 комментария

1 ответ

0
Лучший ответ

Выяснилось, просто нужно добавить

.slice(0, 10)

к другой функции ответа.

До:

function custom_source(request, response) {
    var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
    response($.grep(schools, function(value) {
        return matcher.test(value.value)
            || matcher.test(value.nickname);
    }));
}

После:

function custom_source(request, response) {
    var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
    response($.grep(schools, function(value) {
        return matcher.test(value.value)
            || matcher.test(value.nickname);
    }).slice(0, 10)
);
}

Думал, что я уже это пробовал, но раньше я должен был помещать функцию среза в неправильное место.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню