JavaScript - 用于循环按钮onclick

时间:2017-10-25 23:59:35

标签: javascript html

我有一个遍历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函数?

先谢谢

1 个答案:

答案 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;
}