How to open a Bootstrap modal window using jQuery?
我正在使用Twitter引导模式窗口功能。当有人单击我的表单上的提交时,我想在单击表单中的"提交按钮"时显示模式窗口。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <form id="myform" class="form-wizard"> <h2 class="form-wizard-heading">BootStap Wizard Form <input type="text" value=""/> <input type="submit"/> </form> <!-- Modal --> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 id="myModalLabel">Modal header <p> One fine body… </p> <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> <button class="btn btn-primary">Save changes</button> |
jQuery:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $('#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(); }); |
引导程序有几个可以在模态上手动调用的函数:
1 2 3 | $('#myModal').modal('toggle'); $('#myModal').modal('show'); $('#myModal').modal('hide'); |
您可以在这里看到更多:引导模式组件
特别是方法部分。
所以你需要改变:
1 2 3 | $('#my-modal').modal({ show: 'false' }); |
到:
1 | $('#myModal').modal('show'); |
如果你想自己制作一个自定义弹出窗口,这里有来自其他社区成员的建议视频:
https://www.youtube.com/watch?V= ZK4NXA84KM4
此外,还可以通过数据属性使用
1 | <button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button> |
在这种情况下,您不需要使用JavaScript。
您可以在这里看到更多信息:http://getbootstrap.com/2.3.2/javascript.html modals
大多数情况下,当
删除其中一个链接以使其再次工作。
此外,一些插件也会导致错误,在这种情况下,添加
1 2 | jQuery.noConflict(); $('#myModal').modal('show'); |
只需使用
以下是示例:
1 | $('#modal').modal(); |
如果使用links的onclick函数通过jquery调用模式,"href"不能为空。
例如:
1 2 3 4 5 6 7 8 9 10 | ... ... Open a Modal by jQuery ... ... ... ... <script type="text/javascript"> function openModal(){ $('#myModal').modal(); } |
无法显示模式。正确的代码是:
1 | Open a Modal by jQuery |
以下是如何在文档准备就绪后加载引导警报。这很简单,只需添加
1 2 3 | $(document).ready(function(){ $("#myModal").modal(); }); |
我在W3学校做了一个演示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <!DOCTYPE html> <html lang="en"> <head> Bootstrap Example <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"> </head> <body> Here is how to load a bootstrap modal as soon as the document is ready <!-- Trigger the modal with a button --> <!-- Modal --> <!-- Modal content--> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Modal Header</h4> <p> Some text in the modal. </p> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> $(document).ready(function(){ $("#myModal").modal(); }); </body> </html> |
在这里查看完整的解决方案:
http://www.w3schools.com/bootstrap/tryit.asp?文件名=Trybs_-Ref_-JS_-Modal_-Show&Stacked=h
确保将库放置在所需位置以获得结果:
1-第一个bootstrap.min.css 2-jquery.min.js 3-bootstrap.min.js
(换句话说,jquery.min.js必须在bootstrap.min.js之前调用)
1 2 3 4 5 6 | <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"> |
我尝试了几种失败的方法,但下面的方法对我很有吸引力:
1 | $('#myModal').appendTo("body").modal('show'); |
尝试
1 | $("#myModal").modal("toggle") |
打开或关闭ID为MyModal的模式。
如果上述方法不起作用,则表示bootstrap.js已被其他一些js文件覆盖。这是一个解决方案
1:-将bootstrap.js移到底部,这样它将覆盖其他js文件。
2:-确保订单如下
1 2 3 | <script src="plugins/jQuery/jquery-2.2.3.min.js"> <!-- Other js files --> <script src="plugins/jQuery/bootstrap.min.js"> |
尝试在调用函数时使用jquery而不是$sign,它在我的案例中起到了作用,如下所示。
1 2 | jQuery.noConflict(); jQuery('#myModal').modal('show'); |
jquery.noconflict();因为当jquery("35; mymodal").modal("show")不起作用时,它是由两次包含jquery引起的。包括jquery 2次会使模态无法工作。在这种情况下,它可以解决问题,就像在我的情况下,它是重复的。
进一步,您可以转到此链接
通过jquery调用时未显示引导模型窗口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <form id="myform" class="form-wizard"> <h2 class="form-wizard-heading">BootStap Wizard Form <input type="text" value=""/> <input type="submit" id="submitButton"/> </form> <!-- Modal --> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 id="myModalLabel">Modal header <p> One fine body… </p> <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> <button class="btn btn-primary">Save changes</button> |
您可以使用下面的代码启动模式。
1 2 3 4 5 | $(document).ready(function(){ $("#submitButton").click(function(){ $("#myModal").modal(); }); }); |