I am trying to bind a function through onclick attribute but I m getting the function undefined error. fiddle
(function() {
function getInfo(x) {
console.log(x)
}
function a() {
var x = [{
"name": "main",
"data": ['1', '2', '3']
}, {
"name": "sub",
"data": ['4', '5', '6']
}, {
"name": "lower",
"data": ['7', '8', '9']
}]
for (var i = 0; i < x.length; i++) {
var data = "<span onclick='getInfo(" + x[i].data + ")'>main </span>";
data += "<span onclick='getInfo(" + x[i].data + ")'>sub </span>"
data += "<span onclick='getInfo(" + x[i].data + ")'>lower</span><br>"
$('#data').prepend(data);
}
}
a()
})()
getInfo()function inside the IIFE function. Move it outside to be global so that the handlers can find it."<span onclick='getInfo("+JSON.stringify(x[i].data)+")'>main </span>"