Плагин Select2 Удалить текущий список и заново вставить новый список из события - PullRequest
0 голосов
/ 03 марта 2020

Я использую Выберите 2 , я был бы признателен, если бы вы помогли мне решить следующую проблему. У меня есть таблица, в которую я добавляю элементы типа <select> с помощью кнопки.

enter image description here

Я запускаю плагин Select2 следующим образом:

<script>
    $(document).ready(function() {
        $('select[name^="table"]').select();
    });

После этого .. Я хочу делегировать событие, чтобы каждый раз, когда я создаю новый <select>, я добавлял к этому элементу новый массив с данными, которые я хочу перечислить.

Я пробовал это следующим образом:

$(document).on('select2:opening', 'select[name^="table"]', function(e) {
  var data = [
    {
        id: 0,
        text: 'enhancement'
    },
    {
        id: 1,
        text: 'bug'
    },
    {
        id: 2,
        text: 'duplicate'
    },
    {
        id: 3,
        text: 'invalid'
    },
    {
        id: 4,
        text: 'wontfix'
    }
  ];

  $(this).empty().select2({
    data: data
  })
});

Когда я проверяю, в консоли браузера я получаю следующую ошибку:

TypeError: this.dataAdapter is null

Я читаю в следующих URL, но не могу найти любое решение в любом из них по моей ошибке:

jquery select2: TypeError: b.dataAdapter is null 3

https://github.com/select2/select2/issues/4933 4

Пожалуйста, я был бы признателен заранее, если кто-то может помочь мне с этой проблемой.

...