如何在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);
}

我在哪里犯了错误?

巴尔迪普·辛格·夸特拉

问题在于您在 onClick 事件中使用的字符串连接。

您可以改用反引号字符。复制粘贴并检查以下代码。

<html>
  <body>
    <table id="table"></table>
    <script>
      getEmployeeDetails();
      function getEmployeeDetails() {
        let userArray = [{ id: 1 }, { id: 2 }];
        var tr = "";
        for (var i = 0; i < userArray.length; i++) {
          tr +=
            `<td class="table-data">
              <button onclick="deleteUser(` +
                      userArray[i].id +
                      `)">Delete</button> || <button onclick="editUser( ` +
                      userArray[i].id +
                    `)">Edit</button>
             </td>`;
        }
        document.getElementById("table").innerHTML = tr;
      }
      function deleteUser(id) {
        console.log("delteuser", typeof id, id);
      }
      function editUser(id) {
        console.log("edit", id);
      }
    </script>
  </body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在函数中传递动态参数

在JavaScript中动态创建具有默认参数的函数

如何在.click()函数中传递参数?

如何在Powershell函数中传递参数?

如何在javascript函数中传递多个参数

如何在Swift 4的函数中动态选择结构的属性作为参数传递?

如何在onclick函数中传递参数?

如何在Python中的函数range()中传递参数

如何在通过Props传递的函数中传递多个参数

如何在JavaScript中将参数传递给compose函数中的每个函数

如何在动态链接中传递参数?

如何在类构造函数参数中动态传递窗口小部件

如何在JavaScript中为动态创建的onclick函数插入参数?

如何在Javascript构造函数中传递参数?

如何在postgresql中创建具有可通过函数作为参数传递名称的视图?

如何在函数中传递参数

如何在崇高的文字3中传递动态参数?

如何在JavaScript中的函数(本身就是参数)中传递参数

如何在Windows Phone 8.1中动态传递参数

如何在函数num()中传递参数?

如何动态传递参数以过滤 Apache Spark 中的函数?

如何在 curl 请求中传递动态参数

如何在javascript中动态创建日期?

如何在javascript的url中传递参数?

Python:在循环中创建 Tkinter 按钮时如何在 lambda 函数中传递不同的参数?

如何在函数中传递动态数量的参数

如何在get in方法中动态传递参数?

如何在kotlin中传递带参数的函数引用?类似于 javascript 中的 bind()

如何在Javascript中传递指定的参数