javascript - Seçilen (Açılır Menü) değere göre Bootstrap Modal Penceresini Göster
Seçim açılır menüde bir seçenek seçildiğinde doğru Bootstrap penceresinin göründüğü bir kodum var. Ancak betiğim bakımı kolay değil. Eklenen her yeni açılır menü seçeneği ile betiğime ekleme yapmam gerekiyor.
Aşağıdaki scripti yazmanın daha verimli bir yolu ne olurdu? HTML'e her yeni açılır menü seçeneği ve modal pencere eklediğimde buna ekleme yapmamam daha kullanışlı olurdu.
$("#selectbox").change(function () {
if ($(this).val() == "#myModal") {
$('#myModal').modal('show');
}
if ($(this).val() == "#myModal2") {
$('#myModal2').modal('show');
}
if ($(this).val() == "#myModal3") {
$('#myModal3').modal('show');
}
});<select class="form-control" id="selectbox">
<option value="#">
Find: App Support
</option>
<option value="#myModal">
Apple Pear Company
</option>
<option value="#myModal2">
Cold Brewing Company
</option>
<option value="#myModal3">
Jokers Wild Inc.
</option>
</select>
<div id="myModal1" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Apple Pear Company</h4>
</div>
<div class="modal-body info">
<p>Lorem lipsum
</p>
</div>
<div class="modal-footer addHEIGHT">
</div>
</div>
</div>
</div>
<div id="myModal2" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Cold Brewing Company</h4>
</div>
<div class="modal-body info">
<p>Lorem lipsum</p>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>
<div id="myModal3" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Jokers Wild Inc.</h4>
</div>
<div class="modal-body info">
<p>Lorem Lipsum</p>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>Cevap #1
Eğer seçim seçeneklerinizin değerleri, modal'in ilgili seçici (#modalId) ise, şunu kullanabilirsiniz:
$("#selectbox").change(function () {
$( $(this).val() ).modal('show');
})
Cevap #2
Eğer bazı seçenekler ilki gibi bir modal tetiklemiyorsa, bunu yapabilirsiniz:
$("#selectbox").on("change", function() {
var sOptionVal = $(this).val();
if (/modal/i.test(sOptionVal)) {
var $selectedOption = $(sOptionVal);
$selectedOption.modal('show');
}
});
Sadece, bir modal tetikleyen id seçicilerinizde kelimenin modal olan herhangi bir büyük-küçük harf kombinasyonunu kullandığınızdan emin olun.
JSFIDDLE
$("#selectbox").on("change", function() {
var sOptionVal = $(this).val();
if (/modal/i.test(sOptionVal)) {
var $selectedOption = $(sOptionVal);
$selectedOption.modal('show');
}
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<select class="form-control" id="selectbox">
<option value="#">
Find: App Support
</option>
<option value="#myModal1">
Apple Pear Company
</option>
<option value="#myModal2">
Cold Brewing Company
</option>
<option value="#myModal3">
Jokers Wild Inc.
</option>
</select>
<div id="myModal1" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Apple Pear Company</h4>
</div>
<div class="modal-body info">
<p>Lorem lipsum
</p>
</div>
<div class="modal-footer addHEIGHT">
</div>
</div>
</div>
</div>
<div id="myModal2" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Cold Brewing Company</h4>
</div>
<div class="modal-body info">
<p>Lorem lipsum</p>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>
<div id="myModal3" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Jokers Wild Inc.</h4>
</div>
<div class="modal-body info">
<p>Lorem Lipsum</p>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>