2018 년 업데이트-부트 스트랩 4 사용
대부분의 답변에는 불필요한 jQuery가 많이있는 것 같습니다. 다른 모달에서 모달을 열려면 부트 스트랩에서 제공하는 show.bs.modal
. CSS가 배경 오버레이를 처리하도록 할 수도 있습니다. 다음은 다른 시나리오의 3 가지 오픈 모달입니다 ...
다른 모달에서 모달 열기 (첫 번째 모달을 열어 둡니다)
<a data-toggle="modal" href="#myModal" class="btn btn-primary">Launch modal</a>
<div class="modal" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modal title</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div><div class="container"></div>
<div class="modal-body">
...
<a data-toggle="modal" href="#myModal2" class="btn btn-primary">Open modal2</a>
</div>
<div class="modal-footer">
<a href="#" data-dismiss="modal" class="btn">Close</a>
</div>
</div>
</div>
</div>
<div class="modal" id="myModal2" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">2nd Modal title</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div><div class="container"></div>
<div class="modal-body">
..
</div>
<div class="modal-footer">
<a href="#" data-dismiss="modal" class="btn">Close</a>
<a href="#" class="btn btn-primary">Save changes</a>
</div>
</div>
</div>
</div>
이 경우 잠재적 인 문제는 두 번째 모달의 배경이 첫 번째 모달을 숨기는 것입니다. 이를 방지하려면 두 번째 모달을 만들고 data-backdrop="static"
CSS를 추가하여 배경의 Z- 색인을 수정합니다.
/* modal backdrop fix */
.modal:nth-of-type(even) {
z-index: 1052 !important;
}
.modal-backdrop.show:nth-of-type(even) {
z-index: 1051 !important;
}
https://www.codeply.com/go/NiFzSCukVl
다른 모달에서 모달 열기 (첫 번째 모달 닫기)
위의 시나리오와 비슷하지만, 두 번째 모달이 열릴 때 첫 번째 모달이 닫히기 때문에 배경 CSS 수정이 필요하지 않습니다. 두 번째 모달 show.bs.modal
이벤트 를 처리하는 간단한 함수 는 첫 번째 모달을 닫습니다.
$("#myModal2").on('show.bs.modal', function (e) {
$("#myModal1").modal("hide");
});
https://www.codeply.com/go/ejaUJ4YANz
다른 모달 내에서 모달 열기
마지막 다중 모달 시나리오는 첫 번째 모달 내부에서 두 번째 모달을 여는 것입니다. 이 경우 2nd에 대한 마크 업은 1st 안에 배치됩니다. 추가 CSS 또는 jQuery가 필요하지 않습니다.
<div class="modal" id="myModal1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modal title</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="container"></div>
<div class="modal-body">
...
<a data-toggle="modal" href="#myModal2" class="btn btn-primary">Launch modal 2</a>
</div>
<div class="modal-footer">
<a href="#" data-dismiss="modal" class="btn">Close</a>
</div>
</div>
</div>
<div class="modal" id="myModal2">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">2nd Modal title</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="container"></div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<a href="#" data-dismiss="modal" class="btn">Close</a>
<a href="#" class="btn btn-primary">Save changes</a>
</div>
</div>
</div>
</div>
</div>
https://www.codeply.com/go/iSbjqubiyn