我正在使用struts iterator标签迭代一个列表,如下所示。
<s:iterator var="listItem" value="userMasterActivityDTOList" status="userStatus">
<tr>
<td width="10%"><s:textfield name="regIns" value="%{#listItem.regIn}" /></td>
<td width="10%"><s:textfield name="regOuts" value="%{#listItem.regOut}" /></td>
<td width="10%"><s:textfield name="regDiffs" value=""/></td>
</tr>
</s:iterator>
迭代之后,我想在每行的javascript中使用regIns和regOuts textfield的值来计算regDiff。事情是我无法为每行中的那些文本字段设置唯一的id,以便我可以在javascript中识别它们。 / p>
如何为每个行元素设置唯一ID?
答案 0 :(得分:1)
您可以使用iterator-status的index
或count
属性:
代码:
<s:iterator var="listItem" value="userMasterActivityDTOList" status="userStatus">
<tr>
<td width="10%"><s:textfield name="regIns" id="in%{#userStatus.count}" value="%{#listItem.regIn}" /></td>
<td width="10%"><s:textfield name="regOuts" id="out%{#userStatus.count}" value="%{#listItem.regOut}" /></td>
<td width="10%"><s:textfield name="regDiffs" id="diff%{#userStatus.count}" value="" /></td>
</tr>
</s:iterator>
我希望我的形式正确,自从我做JSP以来已经有一段时间了。
答案 1 :(得分:0)
使用Iterator的状态COUNT或INDEX方法。
Count是从1开始的,Index是从0开始的。
<s:iterator var="listItem" value="userMasterActivityDTOList"
status="userStatus">
<tr>
<td width="10%">
<s:textfield name="regIns"
id="in_%{#userStatus.index}" value="%{#listItem.regIn}" />
</td>
<td width="10%">
<s:textfield name="regOuts"
id="out_%{#userStatus.index}" value="%{#listItem.regOut}" />
</td>
<td width="10%">
<s:textfield name="regDiffs"
id="diff_%{#userStatus.index}" value="" />
</td>
</tr>
</s:iterator>