我不知道该如何准确地表达,但基本上在我的代码中,我使用 forEach
并将其中的对象用ejs显示在一个表格中。我想让用户点击其中的一个对象时,它将带他们到一个页面,里面只有他们选择的项目的详细信息,但不能这样做,因为它们是通过循环显示的。
例如:我的集合,叫做 stores
,有这样的对象 environment
, store
和 version
. 当我用循环显示它们时,我是这样做的。
<table>
<tr>
<th>Environment</th>
<th>Store Name</th>
<th>Code Version</th>
</tr>
<% stores.forEach(function(store){ %>
<tr>
<td> <%= store.environment %> </td>
<td> <%= store.store %> </td>
<td> <%= store.version %> </td>
</tr>
<% }); %>
</table>
最后得到的表格是这样的
Environment | Store Name | Code Version
-----------------------------------------
QA1 | Oakdale | 2019.09
QA2 | Westminster | 2020.03
QA3 | Garden Grove | 2020.05
我希望用户能够点击,例如: QA1
它将引导他们到另一个页面了解QA1的详细信息。我的问题是,在代码被显示为一组的情况下,通过 <%= store.environment %>
我如何在QA1或QA2上创建一个链接?现在,如果我把一个链接放在相同的 td
作为 <%= store.environment %>
,该链接显示在每一个 environment
.
有没有可能通过jQuery或其他东西来选择特定的环境?
是的,你可以,你只需要检查一下你的 environment
属性,或者任何你用来定义是否应该显示链接的属性。
这里有一个快速的例子来说明你如何做到这一点。
<table>
<tr>
<th>Environment</th>
<th>Store Name</th>
<th>Code Version</th>
</tr>
<% stores.forEach(function(store){ %>
<tr>
<td>
<% if (store.environment === "QA1") { %>
<a href="/your-url"><%= store.environment %></a>
<% } else { %>
<%= store.environment %>
<% } %>
</td>
<td> <%= store.store %> </td>
<td> <%= store.version %> </td>
</tr>
<% }); %>
</table>
很抱歉有任何代码错误,我是直接从StackOverflow上下载的。