【问题标题】:How to access a particular element from JSTL ForEach tag using javaScript?如何使用 javaScript 从 JSTL ForEach 标记访问特定元素?
【发布时间】:2019-07-21 18:46:38
【问题描述】:

我正在尝试创建一个预订网站。在我的 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() 具有所选图像的详细信息,以便可以将其与位置坐标一起转发以根据用户的位置显示附近的事件。

【问题讨论】:

    标签: javascript jsp geolocation jstl


    【解决方案1】:

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

    <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 我会在这里使用&lt;button&gt; 而不是&lt;a&gt;

    【讨论】:

    • 感谢您的建议,我将其用作按钮。接受参数的js会是什么?
    • @qomzwinx 好吧,大概你已经有了getLocation() 函数;您只需添加一个参数名称,如getLocation(eventName),然后根据需要在函数内使用eventName
    猜你喜欢
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    相关资源
    最近更新 更多