1

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

我有以下内容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应该将其“值”属性填充为循环idWidget内的值。foreach对于循环中的每个元素,此值应该不同(元素由编辑按钮选择)。

问题:

  1. 如何将一个输入字段的值传递给另一个输入字段?
  2. 当存在 foreach 循环时,我该怎么做?

提前致谢

4

1 回答 1

1

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

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

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

没有测试过,但我希望你能明白

于 2012-11-08T08:27:16.373 回答