Код: Выделить всё
$("#id_project").select2({dropdownParent: $(".modal-body")});
У меня есть форма, заполненная в модальном окне Bootstrap, которая выглядит следующим образом:
Код: Выделить всё
---------
[/b]
[list]
[*]
[/list]
JavaScript:
Код: Выделить всё
var loadForm = function () {
var btn = $(this);
$.ajax({
url: btn.attr("data-url"),
type: 'get',
dataType: 'json',
beforeSend: function () {
$("#modal-task").modal("show");
},
success: function (data) {
$("#modal-task .modal-content").html(data.html_form);
}
});
};
- jQuery: 1.12.1
- Select2: 4.0 .5
- Bootstrap: 4
Чтобы решить эту проблему, я добавил этот код для установки dropdownParent каждого Select2:
Код: Выделить всё
$.fn.select2.defaults.set("dropdownParent", $('#modal-task'));
Как мне предотвратить такое поведение и заставить отображаться варианты выбора Select2 и входные данные для поиска обычно (прямо над или под Select2 в зависимости от того, где он находится по отношению к краю окна)? Кроме того, на странице есть поля Select2, даже если модальное окно не активировано, поэтому такое воздействие на все поля Select2 не является идеальным.
Обновление: Я попробовал заменить другой код для этой строки:
Код: Выделить всё
$.fn.modal.Constructor.prototype.enforceFocus = function () {};
Обновление 2: Я попробовал это:
Код: Выделить всё
$('#id_project').set("dropdownParent", $('#id_project'));
Обновление 3. Я попробовал это...
Код: Выделить всё
$('#modal-task').css('overflow','visible');
Подробнее здесь: https://stackoverflow.com/questions/487 ... dal-scroll
Мобильная версия