带有 AJAX 的 Select2 出现在模态后面
Select2 with AJAX appears behind modal
我在模态中使用 Select2,但效果不佳,如您在此处所见:https://gyazo.com/a1f4eb91c7d6d8a3730bfb3ca610cde6
结果显示在模态后面。我怎样才能解决这个问题?我读过类似的帖子,但都在谈论删除 tabindex,这是我的代码中没有的东西,所以我不知道如何修复它。这是我的代码:
<div class="remodal shadow" data-remodal-id="keuze" data-remodal-options="closeOnOutsideClick: false">
<button data-remodal-action="close" class="remodal-close"></button>
<div class="panel-header">Kies uw type logboek</div>
<div class="modal-body">
<select id="select" class="searchselectstyle select2"></select>
<button data-remodal-action="cancel" class="remodal-cancel mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect cancel">Cancel</button>
<button data-remodal-action="confirm" class="remodal-confirm mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect send">Aanmaken</button>
</div>
</div>
<script type="text/javascript">
token = '{{csrf_token()}}';
$(document).ready(function() {
$('#select').select2({
ajax: {
type: "POST",
url: "ajax/getlogtypes",
dataType: 'json',
data: function (params) {
return {
q: params.term, // search term
page: params.page,
'_token' : token
};
},
escapeMarkup: function (markup) {
return markup;
}, // let our custom formatter work
minimumInputLength: 1
}
});
});
</script>
按照 Rory McCrossan 的建议检查 DOM 之后,我发现 Select2 生成的 span
元素出现了较低的 z-index。我通过在我的代码中添加以下内容来修复它:
.select2-container{
z-index:100000;
}
上述解决方案不适用于我的情况。
但我通过在下面添加 css 来解决它:
.select2-drop {z-index: 99999;}
问题与 select2 的父级有关。创建 select2 时,它的父级是 html 正文(不是模态)。
解决方案是实例化 select2 如下:
$('.modal .select2').select2({
dropdownParent: $('.modal')
});
查看此处了解更多信息:[https://select2.org/troubleshooting/common-problems]
我在模态中使用 Select2,但效果不佳,如您在此处所见:https://gyazo.com/a1f4eb91c7d6d8a3730bfb3ca610cde6
结果显示在模态后面。我怎样才能解决这个问题?我读过类似的帖子,但都在谈论删除 tabindex,这是我的代码中没有的东西,所以我不知道如何修复它。这是我的代码:
<div class="remodal shadow" data-remodal-id="keuze" data-remodal-options="closeOnOutsideClick: false">
<button data-remodal-action="close" class="remodal-close"></button>
<div class="panel-header">Kies uw type logboek</div>
<div class="modal-body">
<select id="select" class="searchselectstyle select2"></select>
<button data-remodal-action="cancel" class="remodal-cancel mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect cancel">Cancel</button>
<button data-remodal-action="confirm" class="remodal-confirm mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect send">Aanmaken</button>
</div>
</div>
<script type="text/javascript">
token = '{{csrf_token()}}';
$(document).ready(function() {
$('#select').select2({
ajax: {
type: "POST",
url: "ajax/getlogtypes",
dataType: 'json',
data: function (params) {
return {
q: params.term, // search term
page: params.page,
'_token' : token
};
},
escapeMarkup: function (markup) {
return markup;
}, // let our custom formatter work
minimumInputLength: 1
}
});
});
</script>
按照 Rory McCrossan 的建议检查 DOM 之后,我发现 Select2 生成的 span
元素出现了较低的 z-index。我通过在我的代码中添加以下内容来修复它:
.select2-container{
z-index:100000;
}
上述解决方案不适用于我的情况。
但我通过在下面添加 css 来解决它:
.select2-drop {z-index: 99999;}
问题与 select2 的父级有关。创建 select2 时,它的父级是 html 正文(不是模态)。 解决方案是实例化 select2 如下:
$('.modal .select2').select2({
dropdownParent: $('.modal')
});
查看此处了解更多信息:[https://select2.org/troubleshooting/common-problems]