如何在for循环javascript中设置按钮onclick事件

如何在for循环javascript中设置按钮onclick事件,javascript,Javascript,我正在尝试为每个用户的活动动态创建一个div 我真正想看到的是div中的“显示详细信息”按钮,它重定向到活动详细信息。我试图运行这段代码,但它只接受最后一个索引 for (var i = utente.campagne.length - 1; i >= 0; i--) { var appended = document.createElement("DIV"); appended.className = "jumbotron"; var nome = document.crea

我正在尝试为每个用户的活动动态创建一个
div

我真正想看到的是
div
中的“显示详细信息”按钮,它重定向到活动详细信息。我试图运行这段代码,但它只接受最后一个索引

for (var i = utente.campagne.length - 1; i >= 0; i--) {
  var appended = document.createElement("DIV");
  appended.className = "jumbotron";
  var nome = document.createElement("p");
  nome.innerHTML = "Campaign Name: " + utente.campagne[i].nome;
  appended.appendChild(nome);
  var button = document.createElement("INPUT");
  button.type = "button";
  var index = i;
  button.addEventListener('click', function () {
    window.location = "ShowDetails.jsp?indexcampagna=" + index;
  });

  button.value = "show details";
  button.className = "btn btn-primary btn-sm";
  appended.appendChild(button);
  var col = document.createElement("DIV");
  col.className = "col-lg-4 col-sm-6 text-center";
  col.appendChild(appended);
  document.getElementById("boxes").appendChild(col);
}   

在for声明中使用let i而不是var i。let具有块级作用域,var具有函数级作用域。如果不使用java,请不要使用
java
标记。javascript!=Java删除了不相关的标记,固定了标题,固定了代码格式。拼写+语法