我已閱讀這裏的帖子,Bootstrap網站,並像谷歌一樣Google搜索 - 但找不到我確信是一個簡單的答案...如何從JavaScript中隱藏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')。modal('hide');'是關閉/隱藏id爲myModal的模式的正確語法(您可以在[Bootstrap文檔頁面](http:// twitter.github.com/bootstrap/javascript.html#modals))。你確定你的網頁上有這個ID的元素嗎?另外,你打算用這個電話來完成什麼?你當前的實現對'new_contact_path'執行Ajax請求,同時用'#myModal'的內容打開模式 - 這是你想要的嗎? –
嗨,朱利安。我上面發佈了myModal標記,確實有一個id爲myModal的div。我重新嘗試'$('myModal')。modal('hide')',但仍然沒有好處。 HM。 就我試圖完成的事情而言,我認爲使用link_to助手可能是不正確的。我用'Add Contact'代替了這個,因爲我不需要調用'new_contact_path'。我只是想打開模式,然後處理用戶輸入。 感謝您花時間回覆。我會看看我是否無法解決這個問題。 – jvillian
我想這只是一個錯字,但是調用應該是'$('#myModal')。modal('hide');'(在評論中缺少一個'#')。 –