【发布时间】:2018-04-07 23:16:42
【问题描述】:
所以,我有一个 JSP 页面,它附加到我需要使用 JSTL 循环循环的对象列表。 (这是一个 Tiles 项目,控制器正在设置一些模拟对象,这些对象被添加到列表中并作为列表返回。该位工作正常。) 基本上,我希望它连续显示一个名称、一个值和一个按钮,当单击该按钮时,我希望其余信息弹出。
<c:forEach var="i" varStatus="curr" items="${items}">
<tr>
<td>
${i.itemName}
</td>
<td>
${i.itemValue}
</td>
<td style="float:right;">
<input type="button" id="showhide">
</td>
</tr>
<tr>
<td class="toggle">
${i.itemAltName}
${i.itemAdditions}
${i.itemValueAfterAdditions}
</td>
</tr>
</c:forEach>
我正在使用以下 JS。
<script type="text/javascript">
var buttons = document.getElementById('showhide');
buttons.onclick = function() {
var div = document.getElementsByClassName('toggle');
var x = div.length;
for(var i = 0; i < x; ++i){
if (div[i].style.display !== 'none') {
div[i].style.display = 'none';
}
else {
div[i].style.display = 'block';
}
}
};
</script>
另外,在这里说明显而易见,但我的风格区域有:
.toggle{
display:none;
}
目前,只有第一个按钮可以正确打开相应的文本。从我看到的其他答案中,我知道我需要使 ID 唯一,但我不确定如何使用 JSP 循环来做到这一点。帮忙?
【问题讨论】:
标签: javascript jsp jstl