我已经读过这里的文章,Bootstrap网站以及疯狂的Googled-但找不到我确定这是一个简单的答案...
我有一个从link_to助手打开的Bootstrap模式,如下所示:
<%= 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')
,仍然没有好处。HM。就我要完成的任务而言,我认为使用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');
是使用id关闭/隐藏模式的正确语法myModal
(您可以在Bootstrap文档页面上进行测试)。您确定页面上有一个具有此ID的元素吗?另外,您想通过此通话完成什么?您当前的实现对进行Ajax请求,new_contact_path
并同时打开具有以下内容的模式#myModal
-这是您想要的吗?