我有一个遍历for循环的javascript,在HTML页面中创建表,然后调用特定函数来更新该用户的特定值。
function getUsers() {
//get all users as "parsedJSON" array
for (var i=0; i<countrows; i++ ) {
row.insertCell(0).innerHTML = parsedJSON[i].samaccountname;
row.insertCell(1).innerHTML = parsedJSON[i].givenname;
row.insertCell(2).innerHTML = parsedJSON[i].surname;
var userName = parsedJSON[i].samaccountname;
row.insertCell(3).innerHTML = "<button id='userName' onclick = 'updateUser(this.id)'> ActionUser</button>";
}
}
function updateUser(userName) {
//Function with about 30 lines to update user
}
现在,我的问题是:我怎么知道,点击了哪个特定用户的按钮以及如何将其用户名传递给updateUser函数?
先谢谢
答案 0 :(得分:0)
下面
var userName = parsedJSON[i].samaccountname;
row.insertCell(3).innerHTML = "<button id='userName' onclick = 'updateUser(this.id)'> ActionUser</button>";
您实际上正在分配字符串&#34; userName&#34;进入按钮而不是传递userName
的值,所以你的代码应该是
row.insertCell(3).innerHTML = "<button id='" + userName + "' onclick = 'updateUser(this.id)'> ActionUser</button>";
为了识别点击的按钮,由于您将按钮id
传递给updateUser
功能,因此您可以使用document.getElementById
来获取点击的元素。
function updateUser(userName) {
var clickedButton = document.getElementById('username');
// This will work if this function is guaranteed to only be used by HTML element
var thisButton = this;
}