我有一个类似下面的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);
单击列出的项目,它会打印0
可能是什么问题?
答案 0 :(得分:3)
你可以这样试试:
<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);
}