当我在页面上使用 JQuery Select2 时它工作正常。但是,当它在引导框对话框模式中时,它显示不正确。

select2 - JQuery Select2 在引导框对话框模式中无法正确显示-LMLPHP

这是我正在使用的 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();选择下拉菜单变成了常规下拉菜单。但我不知道为什么它显示不正确。

最佳答案

不久前我遇到了同样的情况,我设法解决了这个问题:

dialog.on('shown.bs.modal', function() {
  dialog.removeAttr("tabindex");
});

其中 dialog 是我的引导框模式对话框。您只需要从对话框本身中删除 tabindex 属性。这样它就会按预期工作(就像在普通页面中工作一样)。

关于select2 - JQuery Select2 在引导框对话框模式中无法正确显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42385714/

10-13 03:46