【问题标题】:value input field in foreach to input field outside foreach将 foreach 中的输入字段值到 foreach 之外的输入字段
【发布时间】:2012-11-08 08:05:27
【问题描述】:

我遇到的问题最好用一个代码示例来解释:

我有以下VIEW.jsp

<c:forEach var="widget" items="${widgets}">
        <div class="drag">
             <p>Id: ${widget.id}</p>
             <input class="editWidget" type="image" src="/tis/img/icons/edit.png" alt="Edit widget">
             <input class="idWidget" type="hidden" value="${widget.id}">
        </div>
</c:forEach>

<div id="editDialog" title="Edit widget">
    <fieldset>
         <input class="editWidgetId" type="hidden" value="??" id="editWidgetId">
    </fieldset>
</div>

editWidgetId 的 'value' 属性应该在foreach 循环内填充idWidget 的值。对于循环中的每个元素,此值应该不同(元素由编辑按钮选择)。

问题:

  1. 如何将一个输入字段的值传递给另一个输入字段?
  2. 当存在 foreach 循环时如何执行此操作?

提前致谢

【问题讨论】:

    标签: java javascript jsp input foreach


    【解决方案1】:

    鉴于您想要动态行为,这项工作必须由 JavaScript 在客户端执行,就像在服务器端一样,您有 许多 小部件 one editDialog 并且缺少客户端用户事件来做出决定。

    您要做的是为每个editWidget分配一个函数处理程序(或下面我的示例中的语句),以将editWidgetId输入框的值更改为适当的值:

    <input onclick="document.getElementById('editWidgetId').value = '${widget.id}'" class="editWidget" type="image" src="/tis/img/icons/edit.png" alt="Edit widget" >
    

    尚未对此进行测试,但我希望你能明白

    【讨论】:

    • 感谢您的回答。我明白了,但我希望你能帮助我做一些调整。我希望将 document.getElement........ 部分包含在 Java 代码中,因为拥有多个字段会使 onclick 值非常复杂。在 Java 代码中,'${widget.id}' 变成一个字符串,而不是一个值。 Java版本的样子如何?
    • @JohnHendrik,我以为您想要小部件 ID。上面的代码位于您的 JSP 页面中。您的 JSTL 符号将通过 JSP 预处理器 (Java),并且对于每个输出部分,它将呈现 onclick 事件。您是否尝试过运行并查看页面的源代码?
    • 你猜对了。我实施了您建议的解决方案,并且效果很好。代码仍然很干净,所以我很满意。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2012-03-16
    • 2022-01-08
    • 2016-01-10
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 2012-07-24
    • 2014-10-21
    相关资源
    最近更新 更多