我有一个如下的foreach循环
<% if (request.getAttribute("categoriesList") != null) {%> <c:forEach var="categoryName" items="${categoriesList}" varStatus="category"> <input type="hidden" id="categoryIndex" name="categoryIndex" value="${category.index}"/> <li><a onclick="getCategoryIndex()" href="#">${categoryName}</a></li> </c:forEach> <% }%>
我尝试如下设置项目的索引值
<input type="hidden" id="categoryIndex" name="categoryIndex" value="${category.index}"/>
当我这样做
var categoryIndex = $('#categoryIndex').val(); console.log("categoryIndex : "+categoryIndex);
总是打印列出项目的onClick 0
0
可能是什么问题呢?
您可以这样尝试:
<c:forEach var="categoryName" items="${categoriesList}" varStatus="category"> <input type="hidden" id="categoryIndex+${category.index}" name="categoryIndex" value="${category.index}"/> <li><a onclick="getCategoryIndex(${category.index})" href="#">${categoryName}</a></li> </c:forEach>
在您的JavaScript方法中:
function getCategoryIndex(x){ var categoryIndex = $('#categoryIndex'+x).val(); console.log("categoryIndex : "+categoryIndex); }