Как select2 можно использовать на странице / сайте с 2 версиями jQuery - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть старое веб-приложение, которое уже использует select2 v3.3.1 и работает на jQuery 1.8.2. Я реализовал разбиение на страницы select2, но получил сообщение «Ошибка: опция« ajax »не разрешена для Select2 при подключении к элементу». в консоли. Я поменял select2 v3.3.1 на select2 v4.0.11, и данные возвращаются из сценария PHP, но не отображаются в элементе select.

Мой вопрос : параметры выбора не отображаютсяиз-за версии jQuery и, если да, как я могу использовать noConflict для ее разрешения ИЛИ можно ли исправить это с помощью нескольких версий select2.

Пример кода:

                   $('.search-diagnosis').select2({
                      placeholder: 'Select an item',
                      minimumInputLength: 5,
                      ajax: {
                        url: 'path/to/php/script',
                        dataType: 'json',
                        delay: 250,
                        data: function (params) {
                          return {
                            search: params.term, // search term
                            page: params.page || 1,
                            page_limit: 100
                          };
                        },
                        processResults: function (data, params) {
                          params.page = params.page || 1;
                          return {
                            results: data.results,
                            pagination: {
                              more: (params.page * 100) < data.total_count
                            }
                          };
                        },
                        cache: true
                      }
                    });

-------------------
Sample return data:
-------------------
{
  "results": [
    {
      "id": "5039",
      "text": "MALARIA"
    },
    {
      "id": "8957",
      "text": "MALARIA AND ACUTE RTI"
    },
    {
      "id": "8952",
      "text": "MALARIA AND BRONCHITIS"
    },
    {
      "id": "9027",
      "text": "MALARIA AND DIARRHOEA"
    },
    {
      "id": "5043",
      "text": "MALARIA AND ENTERIC FEVER"
    },
  ],
  "total_count": 5
}

1 Ответ

0 голосов
/ 03 ноября 2019

Я обнаружил, что Select2 не загружает данные ajax, потому что они встроены в модальные. Я просто включил:

dropdownParent: $("#modalId"),

как часть параметров нумерации страниц Select2, и теперь все в порядке.

...