我尝试访问多维数组,这是结构
{
"incidentsNumber":176,
"itemInterval":"3",
"incidentList":[
{
"id":"849098658",
"transactionId":"37035630",
"timeStamp":"2015-05-17 09:14:27.440"
},
{
"id":"849098851",
"transactionId":"37035638",
"timeStamp":"2015-05-17 09:16:55.650"
}
]
}
这是jQuery代码:
for(var j=0; j<=data.incidentList.length; j=(parseInt(j)+parseInt(itemInterval))) {
var buttonid = '#btn'+ parseInt(j);
$(buttonid).click(function (j) {
console.log(data.incidentList[j]['transactionId']);
});
}
但如果我从1开始使用j
,我会收到以下错误:
TypeError: data.incidentList[j] is undefined
如果我从0开始使用j
,我就不会收到错误,但按钮不会对其执行操作。
所以我的代码在任何情况下都不起作用。
有人能帮助我吗?
答案 0 :(得分:2)
$(buttonid).click(function (j) {
console.log(data.incidentList[j]['transactionId']);
});
为什么要重新定义j
? j
将是javascript click
事件。这不是你想要的。如果你这样写,这个新j
将“遮蔽”原始j
。只需删除此j
参数并写下:
$(buttonid).click(function () {
console.log(data.incidentList[j]['transactionId']);
});
您也可以重命名此参数:
$(buttonid).click(function (event) {
console.log(data.incidentList[j]['transactionId']);
});
这两个代码都有效。