Arhn - архитектура программирования

jqueryui автозаполнение количества предложений

Я работаю со сценарием автозаполнения jqueryUI. Дело в том, что я хочу ограничить количество предложений, которые он предоставляет, до 6, так как он предлагает слишком много предложений. Это сценарий:

$.get('file.txt', function(x) {

    var i;
    var pos = 0;
    var availableTags = [];

    x = x.split(/[\#\n]+/);

    for (i = 0; i < x.length; i = i + 4)
      availableTags[pos++] = x[i];

    console.log(availableTags);

    $(function() {
      $("#search").autocomplete({source: availableTags});
      response(availableTags.slice(0, 6));
    });

    }, 'text');

Я заметил отличное решение Эндрю Уитакера, но не могу заставить его работать. Он предложил использовать

response(availableTags.slice(0, 6));

Любое решение, чтобы ограничить количество предложений в моем сценарии?


Ответы:


1

вы можете переопределить функцию _renderMenu, чтобы отобразить максимум N элементов

$.ui.autocomplete.prototype._renderMenu = function( ul, items ) {
   var self = this;
   $.each( items, function( index, item ) {
      if (index < 10) // here we define how many results to show
         {self._renderItem( ul, item );}
      });
}

или с ответом среза:

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

        response(results.slice(0, 6));
    }
});
04.09.2015
  • Большое спасибо, michal pavlik, работает почти идеально, но влияет на результат html и css. Не возражаете, если я подожду более простого ответа? 04.09.2015
  • конечно, я отредактировал свой пост и добавил более простое решение с результатами среза. 04.09.2015
  • Ну, второй просто не работает :'( но, возможно, это моя вина. Я отредактировал код в своем вопросе, чтобы показать вам, как я включил ваш код. Вы заметили какие-либо ошибки? 04.09.2015
  • у вас нет закрытой скобки после функции автозаполнения. В 3-й строке снизу должно быть }); 04.09.2015
  • Мне очень жаль, Майк, чувак, но это не работает... :(( обновлено и в моем вопросе 04.09.2015
  • Это может быть связано с источником, который раньше был источником: availableTags 04.09.2015
  • перед автозаполнением у вас есть $(function() {, которого не должно быть 04.09.2015
  • Иисус Христос, не сердись на меня, но это не работает. Я чувствую, что довожу тебя до безумия :( Обновил свой вопрос 04.09.2015
  • Ваш первый код (теперь в первом квадрате вашего ответа) просто великолепен. Единственная проблема, которую это дает мне, заключается в том, что когда я нажимаю на предложение, оно не записывается в поле ввода текста. это легко исправить? 04.09.2015

  • 2
    $(function() {
        var limit = 3;
        var tags = [
          "hello","hi", "him", 'here',"his", "honour", "banquet"
        ];
        $( "#search" ).autocomplete({
            source: tags.slice(0, limit),
    
            });
    });
    

    Пожалуйста, найдите вышеуказанное решение и дайте мне знать, если оно работает для вас.

    04.09.2015
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..