2018 Güncellemesi - Bootstrap 4'ü Kullanma
Cevapların çoğunun çok fazla gereksiz jQuery'ye sahip olduğunu buldum. Başka bir modelden bir modal açmak, basitçe Bootstrap'in sağladığı show.bs.modal. Ayrıca, arka plan kaplamalarını işlemek için biraz CSS isteyebilirsiniz. İşte başka bir senaryodan 3 açık modal ...
Başka bir modelden modal açın (1. modeli açık tutun)
<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>
Bu durumda olası bir sorun, 2. modelin arka planının 1. modeli gizlemesidir. Bunu önlemek için 2. modal yapın data-backdrop="static"ve arka planların z-dizinlerini düzeltmek için biraz CSS ekleyin ...
.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
Başka bir modelden modal açın (1. modal kapatın)
Bu yukarıdaki senaryoya benzer, ancak 2. modal açıldığında 1. modu kapattığımız için arka plan CSS düzeltmesine gerek yoktur. 2. modals show.bs.modalolayını işleyen basit bir işlev , 1. modu kapatır.
$("#myModal2").on('show.bs.modal', function (e) {
$("#myModal1").modal("hide");
});
https://www.codeply.com/go/ejaUJ4YANz
Modal'ı başka bir modal içinde aç
Son çoklu mod senaryosu, 1. modal içinde 2. modal açmaktır. Bu durumda 2. için işaretleme 1.'in içine yerleştirilir. Ekstra CSS veya jQuery gerekmez.
<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