2012-06-21 40 views
1

此問題與我的另一個question有關。感謝一些幫助,我現在可以在單擊addButton時顯示重複的元素。使用JSP跟蹤Javascript中的重複元素

我想跟蹤有多少元素已被複制。這也將有助於爲重複元素分配不同的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

到目前爲止,所有副本在圖例中都顯示「This is box number 1」。看起來好像n不會增加到3以上。我想顯示n增加將id分配給重複項。

回答

1

JSP在服務器端上生成HTML,而Javascript在客戶端上運行。意思是,當Javascript正在運行時,該頁面已經被渲染,其值爲n(在創建時爲1)。由於JSP未再次運行,因此n的值仍爲1

解決方案:運行客戶端(JS)上的所有內容(包括計數器)。

+0

感謝您的解決方案。我只會使用Javascript來保持計數。我將在稍後使用我的代碼發佈我的解決方案。謝謝! – paperclip