-6
我已按照this鏈接將數據傳遞給動態創建的元素的單擊事件。但是,它不起作用。無法使用jquery.on()通過函數傳遞數據
for(var i=0; i<data.length; i++) {
var meterDiv = $("<div></div");
meterDiv.attr('class', "container-fluid");
var meterData = data[i].stompNumber + "<br/>" + data[i].stompName + "<br/>" + data[i].postId;
meterDiv.html(meterData);
var postId=data[i].postID;
meterDiv.on("click", {postid: postId}, function(event) {
parkedMeter(event);
console.log("paked at : " + event.data.postid);
})
$("#meterInfo").append(meterDiv);
}
paked at
是undefined
在控制檯上。同樣作爲我parkedMeter
:
function parkedMeter(event) {
console.log("postid " + event.data.postid);
}
請[MCVE],因爲它是你的代碼片段無法運行,我們不知道什麼數據變量由parkerMeter函數聲明的方式和方式組成。 – Esko
'.on()'方法似乎正確使用:問題是,什麼是'postId':並且你確定它正在被正確讀取?好像你有一個錯字:它應該是'var postId = data [i] .postId'而不是'var postId = data [i] .postID'。你有沒有試過控制檯記錄什麼'數據[我]'包含?然後你會得到一個你可以使用的有效密鑰列表。 – Terry
特里的評論是正確的。我有錯字錯誤。謝謝特里! –