如何使用 jQuery 打开 Bootstrap 模式窗口?

IT技术 javascript jquery twitter-bootstrap
2021-01-18 00:37:46

我正在使用 Twitter Bootstrap 模态窗口功能。当有人在我的表单上单击提交时,我想在单击表单中的“提交按钮”时显示模态窗口。

<form id="myform" class="form-wizard">
    <h2 class="form-wizard-heading">BootStap Wizard Form</h2>
    <input type="text" value=""/>
    <input type="submit"/>
</form>

<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="myModalLabel">Modal header</h3>
    </div>
    <div class="modal-body">
        <p>One fine body…</p>
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
        <button class="btn btn-primary">Save changes</button>
    </div>
</div>

jQuery:

$('#myform').on('submit', function(ev) {
    $('#my-modal').modal({
        show: 'false'
    }); 


    var data = $(this).serializeObject();
    json_data = JSON.stringify(data);
    $("#results").text(json_data); 
    $(".modal-body").text(json_data); 

    // $("#results").text(data);

    ev.preventDefault();
});
6个回答

Bootstrap 有几个可以在模态上手动调用的函数:

$('#myModal').modal('toggle');
$('#myModal').modal('show');
$('#myModal').modal('hide');

您可以在此处查看更多信息:Bootstrap 模态组件

具体方法部分

所以你需要改变:

$('#my-modal').modal({
    show: 'false'
}); 

到:

$('#myModal').modal('show'); 

如果您想制作自己的自定义弹出窗口,以下是来自其他社区成员的推荐视频:

https://www.youtube.com/watch?v=zK4nXa84Km4

大多数情况下,当$('#myModal').modal('show');不起作用,它是由两次包含 jQuery 引起的。包含 jQuery 2 次会使模态不起作用。

删除其中一个链接以使其再次工作。

此外,一些插件也会导致错误,在这种情况下添加

jQuery.noConflict(); 
$('#myModal').modal('show'); 

此外,您可以使用 via data 属性

<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>

在这种特殊情况下,您不需要编写 javascript。

你可以在这里看到更多:http : //getbootstrap.com/2.3.2/javascript.html#modals

只需使用jQuery选择器调用模态方法(不传递任何参数)

这是示例:

$('#modal').modal();

如果使用链接的 onclick 函数通过 jQuery 调用模态,则“href”不能为空。

例如:

... ...
<a href="" onclick="openModal()">Open a Modal by jQuery</a>
... ...
... ...
<script type="text/javascript">

function openModal(){

    $('#myModal').modal();
}       
</script>

模态无法显示。正确的代码是:

<a href="#" onclick="openModal()">Open a Modal by jQuery</a>