1

次のような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

何が問題なのですか?

4

1 に答える 1

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);
 }
于 2013-09-16T12:00:38.733 に答える