首页 > 解决方案 > 如何在Javascript中动态创建函数中传递参数?

问题描述

在提交要在表格中显示的值后,我创建了一个表单和表单。在表中,我有一个部分要删除或编辑按钮上的特定用户。但是当我将 id 传递给该函数时,我收到错误消息说发生了引用错误!

function getEmployeeDetails() {
 for (var i = 0; i < userArray.length; i++) {
    var tr = "<tr>";

    tr +=
      "<td class='table-data'/td>" +
      userArray[i].id +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].name +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].email +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].gender +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].role +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].english +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].hindi +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].othersLang +
      "</td>" +
      "<td class='table-data'/td>" +
      userArray[i].description +
      "</td>" +
      "<td class='table-data'/td>" +
      "<button onclick='deleteUser( userArray[i].id )'>Delete</button> || <button onclick='editUser( userArray[i].id )'>Edit</button>" +
      "</td>" +
      "</tr>";

    tbody.innerHTML += tr;
  }
}

function deleteUser(id) {
  console.log("delteuser", typeof id, id);
}
function editUser(id) {
  console.log("edit", id);
}

我在哪里犯了错误?

标签: javascripthtmltypescript

解决方案


改变

  <button onclick='deleteUser( userArray[i].id )'>

像这样的东西

 <button onclick='deleteUser('+userArray[i].id+')'>

在您当前的尝试中,您没有插入 userArray[i].id 的值,而是插入变量 userArray[i].id ,这是一种废话。

与 editUser 功能相同的故事


推荐阅读