我创建了一个for循环,用于在使用对象渲染ejs页面时创建记录表(要求)。 我想创建一个按钮,根据每个记录从mongodb的ID将每个记录链接到另一个页面。为此,我将每个对象_id存储到另一个名为会场ID的数组中。 我现在面临的问题是,当我将它添加到这样的链接时,该程序无法读取会场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>
<% } %>
答案 0 :(得分:0)
以这种方式使用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>