首页 > 解决方案 > 如何使用 javaScript 从 JSTL ForEach 标记访问特定元素?

问题描述

我正在尝试制作一个预订网站。在我的 jsp 页面上,我有一个 jstl forEach 循环遍历我的各种事件数据库中的多张图片。这些图像充当链接,每个图像都附加了不同的链接。

我还想将位置坐标与图像一起发送以根据区域对数据库进行排序,因此我使用的是 Javascript。

如何访问我的 javascript 中的单个图像,以重定向到相应的页面?

我曾尝试使用图像的“alt”,但它会在 javaScript 中的每个图像上返回相同的值(循环中第一个图像的 alt)。但是,如果我在锚标记中使用 href,则会为每个链接返回正确的值。有没有可以在 javaScript 中使用 'alt' 的解决方案。

jsp:

<core:forEach items="${requestScope.Events}" var="Events">
 <div>
  <a onClick="getLocation()">
   <img alt="${Events.name}" src="/images/${Events.name).jpg">
  </a>
 </div>
</core:forEach>

预期结果是获取 javascript:getLocation() 具有所选图像的详细信息,以便可以将其与位置坐标一起转发以根据用户的位置显示附近的事件。

标签: javascriptjspgeolocationjstl

解决方案


您可以将调用中的名称传递给事件处理程序:

<core:forEach items="${requestScope.Events}" var="Events">
 <div>
  <a onClick="getLocation('${Events.name}')">
   <img alt="${Events.name}" src="/images/${Events.name).jpg">
  </a>
 </div>
</core:forEach>

然后将修改您的处理程序函数以接受事件名称作为参数。

FWIW 我会使用 a<button>而不是<a>这里。


推荐阅读