Когда я использую JQuery Select2 на странице, он работает нормально. Однако, когда он находится внутри модального диалогового окна загрузочного окна, он отображается неправильно.
Вот код jquery, который я использую...
$.ajax({
type: 'GET',
url: src,
success: function (data) {
if (allowed) {
bootbox.dialog({
title: dialogTitle,
message: $('#altForm'),
onEscape: true,
show: false // We will show it manually later
}).on('shown.bs.modal', function () {
$('#enterBtn').hide();
$('#userPwd').hide();
$('.app-ctrl').prop('disabled', true);
$('#altForm').show();
}).on('hide.bs.modal', function (e) {
$('#altForm').hide().appendTo('body');
}).modal('show');
$('.boop').parents('.bootbox').removeAttr('tabindex');
$('.boop').select2();
}
}
});
Я считаю, что код для раскрывающегося списка Select2 работает, потому что, когда я комментирую строку инициализации: $('.boop').select2(); раскрывающийся список выбора превращается в обычный раскрывающийся список. Но я не знаю, почему он не отображается правильно.
$('.boop').select2();
внутрь обработчика событияshown.bs.modal
(shown, а не show — show обрабатывается непосредственно перед тем, как модальное окно становится видимым). - person Tieson T.   schedule 23.02.2017