Как открыть модальное окно Bootstrap с помощью jQuery?
Я использую функциональность модального окна Twitter Bootstrap. Когда кто-то нажимает кнопку "отправить" в моей форме, я хочу показать модальное окно, нажав кнопку "отправить" в форме.
<form id="myform" class="form-wizard">
<h2 class="form-wizard-heading">BootStap Wizzard 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();
});
10 ответов:
Бутстрап имеет несколько функций, которые могут вызываться вручную по образцам:
$('#myModal').modal('toggle'); $('#myModal').modal('show'); $('#myModal').modal('hide');вы можете увидеть здесь: Bootstrap модальный компонент
в частности методы.
Так что вам нужно будет изменить:
$('#my-modal').modal({ show: 'false' });to:
$('#myModal').modal('show');Если вы хотите сделать собственное всплывающее окно, вот предлагаемое видео из другого сообщества участник:
кроме того, вы можете использовать через атрибут data
<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>в данном конкретном случае вам не нужно использовать JavaScript.
вы можете увидеть больше здесь:http://getbootstrap.com/2.3.2/javascript.html#modals
чаще всего, когда
$('#myModal').modal('show');не работает, это вызвано включением jQuery дважды. В том числе jQuery 2 раза делает модалы не работать.удалите одну из ссылок, чтобы она снова заработала.
кроме того, некоторые плагины вызвать ошибки тоже, в этом случае добавить
jQuery.noConflict(); $('#myModal').modal('show');
просто вызвать модальный метод(без передачи каких-либо параметров) с помощью
jQueryселектор.вот пример:
$('#modal').modal();
Если вы используете функцию onclick links для вызова модального jQuery, "href" не может быть null.
например:
... ... <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>
Проверьте полное решение здесь:
http://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_ref_js_modal_show&stacked=h
убедитесь, что библиотеки расположены в нужном порядке, чтобы получить результат:
1 - й бутстрап.минута.css 2-jquery.минута.js 3-bootstrap.минута.js
(другими словами jquery.минута.js должен быть вызван перед загрузкой.минута.js)
<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> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
вот как загрузить bootstrap alert, Как только документ будет готов. Это очень легко просто добавить
$(document).ready(function(){ $("#myModal").modal(); });Я демо на W3Schools.
<!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <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> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Here is how to load a bootstrap modal as soon as the document is ready </h2> <!-- Trigger the modal with a button --> <!-- Modal --> <div class="modal fade" id="myModal" role="dialog"> <div class="modal-dialog"> <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Modal Header</h4> </div> <div class="modal-body"> <p>Some text in the modal.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> </div> <script> $(document).ready(function(){ $("#myModal").modal(); }); </script> </body> </html>
я попробовал несколько методов, которые не удалось, но ниже работал для меня как шарм:
$('#myModal').appendTo("body").modal('show');
попробовать
$("#myModal").modal("toggle")чтобы открыть или закрыть модальный с идентификатором myModal.
Если выше не работает, то это означает bootstrap.js был переопределен каким-то другим файлом js. Вот решение
1:- ход начальной загрузки.js внизу, так что он будет переопределять другие файлы js.
2: - Убедитесь, что порядок, как показано ниже
<script src="plugins/jQuery/jquery-2.2.3.min.js"></script> <!-- Other js files --> <script src="plugins/jQuery/bootstrap.min.js"></script>
<form id="myform" class="form-wizard"> <h2 class="form-wizard-heading">BootStap Wizzard Form</h2> <input type="text" value=""/> <input type="submit" id="submitButton"/> </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>Вы можете запустить модальный С ниже код.
$(document).ready(function(){ $("#submitButton").click(function(){ $("#myModal").modal(); }); });
Comments