Динамически обновлять виджет Select2 с помощью jquery

#javascript #jquery #jquery-select2

#javascript #jquery #jquery-select2

Вопрос:

Итак, я использую фреймворк YII 1 (против своей воли) и пытаюсь динамически обновлять виджет select2 с помощью jquery.

Виджет

 $this->widget('booster.widgets.TbSelect2', [
    'asDropDownList' => false,
    'name'           => 'target',
    'val'            => $val,
    'options'        => ['data' => []],
    'htmlOptions'    => ['class' => 'target-select', 'id' => 'service']
])
  

Jquery

 $.each(response.html, function(key,value) {
    target.append('<option value="' value.id '">' value.text '</option>');
});
  

У меня есть элемент, который отлично отображается на странице, без каких-либо параметров внутри него.
Запрос ajax извлекает некоторые параметры, которые должны быть размещены внутри выбора, но это просто добавляет параметры в виде текста после элемента, а НЕ внутри элемента.

Есть идеи, как получить эти параметры внутри выбора?

Комментарии:

1. В jQuery нет ничего изначально неправильного, поэтому кажется, что ваш target не указывает на ваш <select> . Возможно, публикация немного большего количества вашего кода JavaScript поможет?

2. Это именно то, что я подумал. смотрите мой ответ. Я думаю, что «service» — это идентификатор выбора на основе информации, содержащейся в вопросе. @Donal. Линч. Msc Не могли бы вы опубликовать HTML-код элемента select?

Ответ №1:

  $('#service').append('<option value="' value.id '">' value.text '</option>