html - Ejs 文件无法读取数组变量
问题描述
我创建了一个 for 循环以在使用对象(请求)呈现 ejs 页面时创建记录表。我想根据来自 mongodb 的 Id 创建将每条记录链接到另一个页面的按钮。为此,我将每个对象_id 存储到另一个名为venueID 的数组中。我现在面临的问题是,当我将程序添加到这样的链接时,程序无法读取场地ID [i]:
<td> <button onclick="location.href = `/dashboard/requests/details/${venueID[i]}`"
每当我单击按钮时,我都会收到一条错误消息,提示未定义场所 ID。虽然我可以使用 console.log(venueID[i]) 在我的控制台上输出它。
我该如何解决?
完整代码:
<% var venueID=[]; %>
<% for(var i=0; i<requested.length; i++) { %>
<% venueID[i]=requested[i]._id %>
<tr>
<td><%= venueID[i]%></td>
<td><%= requested[i].roomNo %> </td>
<td><%= requested[i].requests.user.name %> </td>
<td><%= requested[i].requests.time%> </td>
<td> <button onclick="location.href = `/dashboard/requests/details/${venueID[i]}`">View Details</button> </td>
</tr>
<% } %>
解决方案
以这种方式使用您的 onclick 属性。
<td> <button onclick="location.href = `/dashboard/requests/details/<%= venueID[i] %>`">View Details</button> </td>
或requested
直接使用
<td> <button onclick="location.href = `/dashboard/requests/details/<%= requested[i]._id %>`">View Details</button> </td>
或者,您可以使用<a>
标签进行导航。例如:
<td><a href="/dashboard/requests/details/<%= requested[i]._id %>" > <button>View Details</button></a> </td>
推荐阅读
- c# - 性能计数器良好做法
- c# - 在同一行的自动映射器中初始化 Ilist
- google-apps-script - Google-sheets 脚本查找数据并使用高级 Google 服务显示在弹出消息中
- java - 通过 Java Web Start 9 和 10 的 JApplet 似乎将宽度设置为高度
- asp.net-mvc - 如何在 Visual Studio 2017 中创建 MVC 项目?
- javascript - 发现“不可信”事件的起源
- ssl - SSL 等效于 givedescriptor() 和 takedescriptor()
- python - 评估原始或转换后因变量的预测性能指标
- java - 以 CSV 格式下载数据库表数据
- angular - Ionic3 找不到管道“翻译”