Select2 присвоение значения иногда не отображается - PullRequest
0 голосов
/ 27 октября 2019

Я использовал 2 множественных Select2. где я хочу установить некоторое значение, используя Jquery в множественном выборе, иногда оба select2 показывают, но иногда не оба, показывая только один. иногда этот один работает, но фактический результат будет похож на этот Я проверил значение в консоли, все в порядке, получая значения для обоих окон выбора, иногда не устанавливается в обоих, но не отображаетсялюбая ошибка.

в представлении:

<select class="form-control select2" multiple id="category" name="category[]" style="width: 100%">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>

<select class="form-control select2" multiple id="component" name="component[]" style="width: 100%">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>

при попытке присвоить значение с использованием данных ответа ajax:

                $.ajax({
                    type: 'GET',
                    url: base_url + '/admin/portfolio/project/' +1,
                    success: function (data) {
                        $('#id').val(data.id);
                        if (data.category) {
                            //making category array with id only
                            let categories = data.category.map(function (value, key) {
                                return value.id;
                            });
                           //set multiple value from category array in dropdown
                            $("#category").val(categories).trigger('change');
                        }

                        if (data.component) {
                            //making components array with id only
                            let components = data.component.map(function (value, key) {
                                return value.id;
                            });
                            //set multiple value from components array in dropdown
                            $("#component").val(components).trigger('change');
                        }
                    },
                    error: function (data) {
                        console.log('Error:', data);
                    }
                });

Не удается выяснить причину, почему иногда она не работает,Требуется помощь.

...