Есть ли ограничение на источник в typeahead? - PullRequest
0 голосов
/ 29 мая 2018

Я использую JQuery typeahed из RunningCoder .Typeahead работает хорошо, если в моем источнике мало записей, но не работает, если в моем источнике около 500 записей.

Это не связано с количеством результатов, которым можно управлять с помощью параметра maxItem.Кроме того, нет проблем с получением строки JSON с сервера, поскольку я могу напечатать ее без каких-либо проблем.

В идеале я знаю, что мне не следует предварительно загружать их на своей странице и выполнять поиск на основеввод, но в моем случае попадание на сервер для поиска не вариант, и я хочу выполнить поиск по статическим данным, которые у меня есть в моем представлении.Вот мой код:

$.typeahead({
                input: "#List .typeahead",
                minLength: 3,
                templateValue: "{{Text}}",
                display: ["Text", "Subtext"],
                emptyTemplate: 'No results for "{{query}}"',
                template: '<span>' +
                    '<span class="result" id="{{Value}}">{{Text}}</span>' +
                    '</span>',
                source: {
                    Issuer: {
                      data: @Html.Raw(Model.EveryThing)
                    }
                }
            });

В моем коде выше, если Model.Everything имеет 40-50 записей, то он работает нормально, но не работает около 500 записей.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: После выяснения проблемы, я хотел бы немного ее объяснить, поскольку это может кому-то помочь.Используя приведенный выше код, вы можете осуществлять поиск в списке по двум полям, например Text и Subtext, но пользователь увидит только текст в результате и затем сможет выбрать один из подходящих вариантов.Это будет очень полезно, если вы хотите выполнить поиск по нескольким полям, но показывать только одно поле.

1 Ответ

0 голосов
/ 30 мая 2018

Понял это после создания примера данных самостоятельно, а не полагаясь на ответ сервера.Проблема не в длине результата, а в пустых записях в результате.В моих данных есть несколько объектов с Subtext как NULL, и это вызывает проблему, я исправил ее, заменив NULL пустой строкой, и теперь это работает как ожидалось.

...