Javascript'te selectbox ile html elementini görünür yapma problemi
Merhabalar. Arkadaşlar javascript'te şöyle bir problemim var. Index.php sayfası aşağıdaki gibi. Sayfanın en altlarında da javascript var. Reklam alanını ilk başta gizliyorum. Selectbox'tan "reklam" alanı seçilirse "reklamgoster" id'li alan görünür olacak. Ama yapamadım. "Onchange" tepki vermiyor. Yardım edebilirseniz sevinirim.
index.php
<select onchange="sagalanekle()" id="sagalanid" class="sag-alan-kategorisi-select" name="kategori" required>
<option value="">
Kategori Seçiniz
</option>
<option id="reklamekle" name="reklamekle" value="reklam">
Reklam Ekle
</option>
<option id="soneklenenler" name="soneklenenler" value="soneklenenler">
Son Eklenenler
</option>
<option id="encokokunanlar" name="encokokunanlar" value="encokokunanlar">
En Çok Okunanlar
</option>
<option id="encokbegenilenler" name="encokbegenilenler" value="encokbegenilenler">
En Çok Beğenilenler
</option>
</select>
<div id="reklamgoster">
<div class="yazi-resmi-ekle-div">Resim Ekle</div>
<label class="file">Seçiniz
<input type="file" name="dosya" value="Resim Yükle" id="dosya"/>
</label>
</div>
let reklamgoster = document.getElementById("reklamgoster").style.display = "none";
function sagalanekle() {
var reklamekle = document.getElementById("reklamekle").value;
var alansec = document.getElementById("sagalanid");
var secenek = alansec.selectedIndex;
if(secenek.value == reklamekle.value) {
reklamgoster.style.display = "block";
} else {
document.write("b");
}
}
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
jQuery eklentisi sayesinde uğraşmadan bunu yapabilirsin.
$('#sagalanid').on( 'change', function (e) {
var secilen = $('#sagalanid option:selected', this);
var secilendeger = $(this.value);
if(secilendeger === "reklam") {
// gerisi sende
}
});