【发布时间】:2025-10-05 08:45:01
【问题描述】:
我正在使用 Node、Express 和 ejs 创建一个 Web 应用程序。在同一页面上,我生成了一组按钮(下面的第一个表)和一组相应的隐藏divs(下面的第二个表)。单击按钮时,我想显示相应的div。
<% for(var i = 0; i < stream.length; i++){ %>
<tr>
<th scope="row"><%= stream[i].streamid %></th>
<td><%= stream[i].streamname %></td>
<td><%= stream[i].streamername %></td>
<td>
<button
class="btn btn-outline-success"
data-toggle="modal"
data-target="#streamDetailsModal"
id="detailsstream"
onclick="<% ctr = i %>"
>
Details
</button>
</td>
<td>
<a
class="btn btn-outline-danger"
href="/stream/delete/<%= stream[i].streamid %>"
>
⊖ Remove
</a>
</td>
</tr>
<% } %>
<% for(var i = 0; i < stream.length; i++){ %>
<tr>
<th scope="row"><%= stream[i].streamid %></th>
<td><%= stream[i].streamname %></td>
<td><%= stream[i].streamername %></td>
<td>
<button
class="btn btn-outline-success"
data-toggle="modal"
data-target="#streamDetailsModal"
id="detailsstream"
data-ctr="<%= i %>"
>
Details
</button>
</td>
<td>
<a
class="btn btn-outline-danger"
href="/stream/delete/<%= stream[i].streamid %>"
>
⊖ Remove
</a>
</td>
</tr>
<% } %>
当用户单击第二个循环中的详细信息按钮时,我需要在第一个循环中更改计数器。
【问题讨论】:
-
这里可能有一个误解——EJS运行在没有按钮的服务器上。它是一个生成 HTML 的预处理器。当代码在可以单击按钮的浏览器中运行时,EJS 代码不再存在。你能解释一下你想在这里完成什么吗?谢谢。
-
我用一个循环来显示来自数据库的数据,每个数据库项目都有另一组数据链接到它。当用户从列表中单击特定项目时,我希望页面中的 div 仅显示链接到用户单击的特定项目的数据。我使用 ejs 循环显示这两个列表。
-
需要在被点击的元素上存储它们之间的关系
标签: javascript node.js express ejs