我在以下JavaScript函數中遇到問題。動態創建具有不同事件調用的按鈕
我試圖根據results
變量的細節動態創建按鈕。
該按鈕已創建並附加了一個事件,但似乎每個按鈕都附帶了完全相同的事件。
我需要地址變量對每個附加到按鈕的事件都有所不同,然後要添加該按鈕來替換我的macField
變量中的文本。
function (results) {
var r;
var x, i;
var btn;
for (i = 0; i < results.length; i++) {
app.display("Paired to" + results[i].name + results[i].address);
x = document.getElementById("message2");
r = results[i].address;
w = document.getElementById('macField').value;
btn = document.createElement('input');
btn.onclick = function() {
document.getElementById('macField').value = r;
};
btn.setAttribute('type', 'button');
btn.setAttribute('name', 'sal' + [i]);
btn.setAttribute('id', 'Button' + [i]);
btn.setAttribute('value', results[i].name);
appendChild(btn);
}
}
function (error) {
app.display(JSON.stringify(error));
}
可能重複[Javascript閉合內循環 - 簡單實用的例子](http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – Ian