#javascript #jquery-select2
Вопрос:
Я использую iziModal для своего модального, но поле выбора select2 недоступно в модальном,
я добавил следующий код после инициализации модального:
$('#mySelect2').select2({
dropdownParent: $('#myIziModal')
});
но теперь поле выбора дублируется, и одно из полей выбора работает нормально, но другое недоступно для клика
модальный код:
<div id="myIziModal" style="display: none;">
<select class="select mySelect2" style="width: 150px;">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
</div>
function showModal() {
$("#myIziModal").iziModal({
title: "info",
});
$("#myIziModal").iziModal('open');
$('.mySelect2').select2({
dropdownParent: $('#myIziModal')
});
}
примечание: когда я использую $('.Select2').select2({ dropdownParent: $('#myIziModal') });
поле выбора, оно не дублируется и доступно для клика, но не отображает никаких параметров.
Ответ №1:
Поскольку Вы используете идентификатор(id=»mySelect2), пожалуйста, используйте класс для определения выбора 2
Подобный этому $('.mySelect2').select2({ dropdownParent: $('#myIziModal') });
и используйте свойство класса в любом месте кода, как это <div id="myIziModal" style="display: none;"> <select class="select mySelect2" style="width: 150px;"> <option value="1">one</option> <option value="3">two</option> <option value="5">three</option> </select> </div>
Комментарии:
1. вопрос обновлен после тестирования вашего решения. пожалуйста, прочтите еще раз.
Ответ №2:
Элемент select должен иметь класс с именем select2
. поэтому, если вы используете другое имя класса для элемента select, вы должны изменить его(только элемент select, который находится в модальном режиме).
<div id="myIziModal">
<select id="mySelect2" class="select2">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
</div>
function showModal() {
$("#myIziModal").iziModal();
$("#myIziModal").iziModal('open');
$('#mySelect2').select2({
dropdownParent: $('#myIziModal')
});
}