Выберите параметры без загрузки с помощью Ajax

Я использую ExpressJS для создания панели управления для сообщества, частью которого я являюсь. В настоящее время у меня есть модальное окно, которое появляется для добавления новых игр в базу данных. Данные извлекаются удаленно, но у меня возникают проблемы с отображением данных для их выбора.

Я могу использовать console.info для отображения извлекаемых данных, но я не уверен, в чем я ошибаюсь.

Код

$(document).ready(function () {
            $('#ttitle').selectize({
                create: false,
                valueField: 'appid',
                labelField: 'name',
                searchField: 'name',
                closeAfterSelect: true,
                options: [],
                load: function (query, callback) {
                    if (!query.length) return callback();
                    $.ajax({
                        url: `/games/all?search=${encodeURIComponent(query)}`,
                        type: 'GET',
                        error: function () {
                            callback();
                        },
                        success: function (res) {
                            console.info(res.value)
                            callback(res.value);
                        }
                    });
                }
            });
        });

При вводе текста в поле поиска консоль показывает следующее Выберите параметры без загрузки с помощью Ajax

HTML - если это важно

<div class = "form-group">
   <label for = "ttitle">Game Title</label>
   <select name = "ttitle" id = "ttitle">
      <option></option>
   </select>
</div>

Выберите параметры без загрузки с помощью Ajax

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
663
1

Ответы 1

Параметр searchField принимает значение массива (не строку), поэтому вам нужно изменить его на:

searchField: ['name']

В противном случае ваша установка выглядит нормально.

хм, до сих пор не понимаю, почему параметры не отображаются в раскрывающемся списке. По какой-то причине кажется, что данные не достигают части, которую нужно отрисовать, если только я что-то не упускаю.

Ryahn 26.10.2018 05:03

@Ryahn, к сожалению, больше ничего из кода, который вы опубликовали, мне не бросается в глаза. Вы можете попробовать добавить preload: true в настройки управления селекцией, чтобы увидеть, загрузятся ли данные изначально. Это, по крайней мере, сузило бы его до какой-то проблемы с фокусом или связанным событием, которое препятствует правильному выполнению вашей функции load при вводе запроса в поле.

benvc 26.10.2018 05:25

Другие вопросы по теме