jquery - 如何加载模式对话框的远程内容?

标签 jquery twitter-bootstrap twitter-bootstrap-3

我正在尝试使用模态来显示通过 AJAX 或类似方式检索到的一些小表单。

我已经在这里找到了一些类似的问题和答案,但是关于 deprecation of remote for modals 的评论也是(source)。

为了与 bootstrap 的 future 版本 4 兼容,我想以“正确”的方式实现它,但我不知道如何做到这一点。
我发现的大多数内容都是针对 3.1 或更早版本的。

我会在 show.bs.modal 上注册一个事件监听器并加载内容,但这是“正确”的方式吗?

感谢您提供有关如何开始的任何提示。

最佳答案

正如您从我的通用模式中看到的:

<div class="modal fade in" id="generic-modal" tabindex="-1" role="dialog" aria-labelledby="mySuccessModal" aria-hidden="true">
    <div class="modal-dialog modal-sm">
        <div id="generic-modal-background" class="modal-content" style="background-color:#5cb85c; color:#fff;">
            <div class="model-body">
                <div class="row">
                    <div class="col-xs-3">
                        <div id="generic-modal-left">
                            <span id="generic-modal-icon" class="glyphicon glyphicon-ok"></span>
                        </div>
                    </div>
                    <div class="col-xs-9">
                        <div id="generic-modal-right">
                            <p id="generic-modal-title" class="lead">Success!</p>
                            <p id="generic-modal-content">You did it, the changes were made!</p>
                            <button id="generic-modal-button" type="button" class="btn btn-default btn-default" data-dismiss="modal">Great</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

我已经在想要更改的元素上设置了 ID,然后当我通过 jquery 调用模型时,我使用此函数更新这些 id:

function showModal(modalType, title, content, button) {

        switch (modalType) {
            case "success":
                $('#generic-modal-background').css('background-color', '#5cb85c');
                $('#generic-modal-icon').removeClass();
                $("#generic-modal-icon").addClass("glyphicon glyphicon-ok");
                break;
            case "fail":
                $('#generic-modal-background').css('background-color', '#d9534f');
                $('#generic-modal-icon').removeClass();
                $("#generic-modal-icon").addClass("glyphicon glyphicon-remove");
                break;
            default:
                break;
        }

        $('#generic-modal-title').html(title);
        $('#generic-modal-content').html(content);
        $('#generic-modal-button').html(button);

        $('#generic-modal').modal('show');
    }

然后当我想使用它时,我调用函数 show modal:

showModal("fail", "Error!", "There was an error saving your changes. Please try again later.", "Close");

关于jquery - 如何加载模式对话框的远程内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25516055/

相关文章:

javascript - Ajax 响应图像元素到 Canvas 上

javascript - 父元素的 Jquery 克隆和附加

css - 文本区域宽度超出 Bootstrap 模式

javascript - 避免在移动设备上加载元素

iOS 表单控件占位符垂直对齐

javascript 操作错误

javascript - 如果另一个类已经存在,则尝试添加一个类

jquery - 使用 bootstrap 和 jquery 更改弹出窗口的标题

css - Bootstrap 中的高亮列表项

asp.net-mvc - 默认asp.net mvc 5模板中输入组插件之前的未知间隙