我正在用 JavaScript 构建一个表格,它包含一个带有链接的单元格,单击该链接时应该触发一个函数。单元格被添加到一个循环中,i
每个循环都会增加一个循环,我想将i
其作为参数嵌入到我的函数中。
使用下面的代码,当我alert(i);
在接收函数中时,我没有得到正确的号码。一方面,无论迭代如何添加的元素都有编号3
(可能并非巧合,我正在对 3 记录数据源进行测试)。
编码
// Add supplier name to cell as a link
var a = document.createElement('a');
var linkText = document.createTextNode(data[i].supName);
a.appendChild(linkText);
a.title = "Click to create a purchase order.";
a.href = "#";
alert('inserting '+i); // diagnostic line
a.onclick = function(){postData ('main/createPO.php', '', 'makePO(resp,'+i+')', '', '')};
td1.appendChild(a);
tr.appendChild(td1);
以上是在递增的for
循环中。i
诊断警报触发:
inserting 0
inserting 1
inserting 2
...但嵌入i
似乎总是3!
这是重要的一行:
a.onclick = function(){postData ('main/createPO.php', '', 'makePO(resp,'+i+')', '', '')};