这个问题与我的另一个question有关。感谢一些帮助,我现在能够在点击addButton时显示重复的元素。
我想跟踪已复制的元素数量。这也有助于为重复元素分配不同的id。
以下是我的代码示例:
<html>
<head>
<%! int n = 1; %>
<script type="text/javascript">
function onClickAdd() {
var tableRow = document.getElementById("tableRow");
var tableRowClone = tableRow.cloneNode(true);
tableRowClone.id = 'tableRow'+<%=n%>;
tableRow.parentNode.insertBefore(tableRowClone, tableRow.nextSibling);
}
</script>
</head>
<body>
<table>
<tr id="tableRow">
<td>
<fieldset>
<legend> This is box number <%=n++%> </legend>
<table>
<tr>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td>
<input type="button" name="addButton" value="Add" onClick="Javascript:onClickAdd()">
</td>
</tr>
</table>
</body>
</html>
如果您阅读我的其他问题,您会发现代码示例相似。现在,我想通过递增JSP整数n
来打印出不同的图例。
到目前为止,所有重复项都在图例中显示“这是第1个方框”。似乎n
不会增加到3以后。
我想表明n
增加了为重复项分配ID。
答案 0 :(得分:1)
当Javascript在客户端上运行时,JSP正在服务器端上生成HTML。这意味着,当Javascript正在运行时,页面已经使用值n
(创建时为1
)进行渲染。由于JSP未再次运行,n
的值仍为1
。
解决方案:运行客户端(JS)上的所有内容,包括计数器。