Как заполнить мультиселектор начальной загрузки с помощью jQuery - PullRequest
0 голосов
/ 10 июня 2018

Я использую два выпадающих списка.Второй параметр множественного выбора зависит от первого значения множественного выбора.

Я пытаюсь заполнить второй параметр множественного выбора (#field_zone), используя вызов ajax, когда выбран первый параметр раскрывающегося списка (#participation_channels) или отмените выбор.Я пытаюсь заполнить второй выпадающий список (#field_zone), но второй выпадающий список не заполняется

используется плагин

 $(document).ready(function () {
    $('#participation_channels').multiselect({
        onChange: function (option, checked) {
            var channels = $('#participation_channels').val();
            $.ajax({
                url: "url",
                data: {channels: channels},
                type: "POST",
                dataType:'json',
                cache: false,
                success: function (data) {
                    $.each(data, function(i, zone) {
                        $("#field_zone").append('<option value="' + zone.zone + '">' + zone.zone + '</option>');
                    });
                    $("#field_zone").attr('multiple', 'multiple'); 
                   $("#field_zone").multiselect(); 
                }
            });
        }
    });
    $('#field_zone').multiselect();
}); 

1 Ответ

0 голосов
/ 10 июня 2018

Вам нужно заставить мультиселект восстановить все опции из исходного элемента select.Итак, после создания новых опций для выбора (внутри обратного вызова success) вы должны изменить:

$("#field_zone").multiselect();

на:

$("#field_zone").multiselect('rebuild');

, чтобы мультиселектор был перестроен на основеобновленные опции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...