나는 여기에있는 게시물, Bootstrap 사이트 및 Googled를 미친 것처럼 읽었지만 쉬운 대답은 확실하지 않습니다 …
다음과 같이 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
오류 처리 코드 (루비와 자바 스크립트의 혼합)가 있습니다. 모든 것이 잘되면 모달을 닫고 싶습니다.
내가 어려움을 겪고있는 곳입니다. 모든 것이 잘되면 모달을 닫을 수 없습니다.
시도했지만 $('#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를 가진 두 개의 요소가 없는지 확인하십시오. 예를 들어 페이지로드 후 처음으로 작동하지만 두 번째로는 작동하지 않습니까?
브라우저 콘솔 : firefox 용 firebug, Chrome 또는 Safari 용 디버깅 콘솔 등
답변
부트 스트랩 모달 을 닫으 려면 다음과 같이 모달 방법에 옵션으로 ‘숨기기’ 를 전달할 수 있습니다
$('#modal').modal('hide');
부트 스트랩은 모달 기능에 연결할 수있는 이벤트를 제공합니다 . 모달이 사용자로부터 숨겨 졌을 때 이벤트를 시작하려는 경우 hidden.bs.modal 이벤트를 사용 하면 모달 메서드 및 이벤트에 대한 자세한 내용을 볼 수 있습니다. 선적 서류 비치
위의 방법으로 작동하지 않으면 닫기 버튼에 ID를 부여하고 닫기 버튼을 클릭하십시오.
답변
부트 스트랩 3.4를 사용합니다.이 기능이 작동하지 않습니다
$('#myModal').modal('hide')
필사적으로 나는 이것을했다 :
$('#myModal').hide();
$('.modal-backdrop').hide();
어쩌면 우아하지는 않지만 작동합니다.
답변
부트 스트랩이있는 모달을 숨기고 표시하는 가장 좋은 양식
// SHOW
$('#ModalForm').modal('show');
// HIDE
$('#ModalForm').modal('hide');
답변
동일한 오류가 발생 했으며이 코드 줄이 실제로 도움이됩니다.
$("[data-dismiss=modal]").trigger({ type: "click" });
답변
$('#modal').modal('hide');
//hide the modal
$('body').removeClass('modal-open');
//modal-open class is added on body so it has to be removed
$('.modal-backdrop').remove();
//need to remove div with modal-backdrop class
답변
이 코드를 사용할 수있는 올바른 해결책을 찾았습니다.
$('.close').click();