Ajax выбирает несколько значений в select2 - PullRequest
0 голосов
/ 30 октября 2019

Я работаю с выбором 2, и у меня есть данные, поступающие из AJAX в формате JSON.

Просмотр:

<select class="form-control qual_id" multiple>
    <option value="">-Select Degree-</option>
    <option value="1">SSC</option>
    <option value="2">HSC</option>
    <option value="3">BBA</option>
    <option value="4">MBA</option>
</select>

Ajax:

var defaultValue = 1,2 // (it can be one id or two ids)

$(`.qual_id option[value=${defaultValue}]`).attr('selected', true);

select2:

<script type="text/javascript">
$('.qual_id').select2({
  width: 'resolve',
  maximumSelectionLength: 2
});
</script>

, если я удаляю несколько из тега select и делаю это без select2 с одним идентификатором, этоработает нормально, но как я могу это сделать, выбрав несколько значений в select.

Консоль:

Uncaught Ошибка: синтаксическая ошибка, нераспознанное выражение: .qual_id опция [значение = 1,2]

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Я ответил на аналогичный вопрос несколько месяцев назад. Вы можете обратиться к нему из Динамически добавить элемент в элемент управления jQuery Select2, который использует AJAX .

Чтобы ответить на ваш вопрос, рассмотрим этот пример.

for(let i=0; i<jsonResponse.length; i++) {
    $(".qual_id").each(function() {
            if($(this).val() == jsonResponse[i]) {
            // select the option
        }
    });
}
$('.qual_id').trigger('change'); 

Вам нужен метод .trigger () . См. Select2 Docs

0 голосов
/ 30 октября 2019
var defaultValue = [1,2];
$(`.qual_id`).val(defaultValue);

Это должно установить значения 1 и 2 для выбора по умолчанию.

...