Javascript ile oluşturduğum butonun onclick olayı fonksiyonu bulamıyor
JSON'dan gelen verileri bir tablo olarak göstermeye çalışıyorum.
Son sütunda bir de buton oluşturuyorum.
let text = "<table class='table table-bordered table-striped table-sm' id='liste'>"
for (let x in JSONObject) {
text += "<tr><td><button onClick='adressec(" + JSONObject[x].id + ")' id='adressec(" + JSONObject[x].id + ")' class='btn'>Seç</button></td></tr>";
}
text += "</table>"
//Adresleri ve butonu sayfaya bastım.
document.getElementById("address").innerHTML = text;
//Fonksiyonu oluşturdum
function adressec(adresid) {
console.log(adresid);
}
Buton onClick olduğunda adressec(8) fonksiyonu çağrılsın istiyorum, fakat
Uncaught ReferenceError: adressec is not defined
at HTMLButtonElement.onclick
hatası alıyorum.
Fonksiyonu oluşturduğum halde bulamıyor.
Neyi eksik/yanlış yapıyorum acaba?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
ben şu şekilde deneyince bir hata almıyorum, ayrıca bir deneyip test etme şansın oldu mu?
<div id="list"></div>
<script>
const data = [
{id: 1},
{id: 2},
{id: 3},
{id: 4},
{id: 5}
]
let listDiv = document.getElementById('list'),
texts = ''
for (let item of data) {
texts += `<div onclick="adressec(${item.id})">${item.id} idli div</div>`
}
listDiv.innerHTML = texts;
function adressec(i) {
console.log('tıklanan değer =' + i);
}
</script>