Я читал посты здесь, на сайте Bootstrap и гуглил как сумасшедший - но не могу найти то, что, я уверен, является простым ответом ...
У меня есть модальный Bootstrap, который я открываю из помощника link_to следующим образом:
<%= link_to "New Contact", new_contact_path, {remote: true, 'data-toggle' => 'modal', 'data-target' => "#myModal", class: "btn btn-primary"} %>
В моем ContactsController.create
действии у меня есть код, который создает и Contact
передает create.js.erb
. Во create.js.erb
, у меня есть некоторый код обработки ошибок (смесь ruby и javascript). Если все идет хорошо, я хочу закрыть модал.
Вот где у меня проблемы. Кажется, я не могу отклонить модал, когда все идет хорошо.
Я пытался, $('#myModal').modal('hide');
и это не имеет никакого эффекта. Я также попробовал, $('#myModal').hide();
что заставляет модал отклонять, но оставляет фон.
Любое руководство о том, как закрыть модальный и / или удалить фон изнутри create.js.erb
?
редактировать
Вот разметка для myModal:
<div class="modal hide" id="myModal" >
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Add Contact</h3>
<div id="errors_notification">
</div>
</div>
<div class="modal-body">
<%= form_for :contact, url: contacts_path, remote: true do |f| %>
<%= f.text_field :first_name, placeholder: "first name" %>
<%= f.text_field :last_name, placeholder: "last name" %>
<br>
<%= f.submit "Save", name: 'save', class: "btn btn-primary" %>
<a class="close btn" data-dismiss="modal">Cancel</a>
<% end %>
</div>
<div class="modal-footer">
</div>
</div>
myModal
. Я перепробовал $('myModal').modal('hide')
и все равно ничего хорошего. Гектометр С точки зрения того, что я пытаюсь достичь, я думаю, что было бы неправильно использовать помощник link_to. Я заменил это на: <a data-toggle="modal" href="#myModal" class="btn btn-primary">Add Contact</a>
так как мне действительно не нужно звонить new_contact_path
. Я просто хочу, чтобы модал открылся, а затем занялся пользовательским вводом. Спасибо что нашли время ответить. Я посмотрю, смогу ли я разобраться с этим.
$('#myModal').modal('hide');
( #
в вашем комментарии отсутствует).
$('#myModal').modal('hide')
. J
$('#myModal').modal('hide');
правильный синтаксис для закрытия / скрытия модальных с помощью idmyModal
(вы можете проверить это на странице документации Bootstrap ). Вы уверены, что у вас есть элемент с этим идентификатором на вашей странице? Кроме того, что вы пытаетесь достичь с помощью этого звонка? Ваша текущая реализация выполняет Ajax-запросnew_contact_path
и одновременно открывает модальное содержимое:#myModal
- это то, что вы хотите?