我有一个JSON对象,我创建了一个包含这些值的表,并添加了一个删除按钮,如下所示
for (var keyValue in thisAdminResult) {
if (thisAdminResult.hasOwnProperty(keyValue)) {
var row = document.createElement('tr');
var firstColumn = document.createElement('td');
var secondColumn = document.createElement('td');
var thirdColumn = document.createElement('td');
var fourthColumn = document.createElement('td');
var password = document.createElement('input');
password.type = "password";
var removeButton = document.createElement('input');
removeButton.type = "button";
var updateButton = document.createElement('input');
updateButton.type = "button";
firstColumn.appendChild(document.createTextNode(keyValue));
password.value = thisAdminResult[keyValue];
secondColumn.appendChild(password);
removeButton.value = 'remove';
removeButton.onclick = function () {
remove(keyValue);
}
thirdColumn.appendChild(removeButton);
updateButton.value = 'update'
updateButton.onclick = function () {
//update(keyValue);
}
fourthColumn.appendChild(updateButton);
row.appendChild(firstColumn);
row.appendChild(secondColumn);
row.appendChild(thirdColumn);
row.appendChild(fourthColumn);
table.appendChild(row);
}
}
我需要做的是调用具有' keyValue'的特定值的删除功能。变量,当按下每个删除按钮时。
但是上面的代码
当我点击任何删除按钮时,它会调用具有相同参数值的删除函数(' keyValue'的最后一个值)。
有人能告诉我我要做的事情得到纠正。
答案 0 :(得分:2)
您可以使用IIFE返回具有keyValue当前值的函数,例如
removeButton.onclick = (function (value) {
return function(){
remove(value);
};
})(keyValue);