我需要从每个列表中获取价值
这是我的清单:
<c:forEach items="${cmlist}" var="records">
<ol class="dd-list" id="chapterlist" >
<li id="cs" class="dd-item" data-id="1" value="${records.levelID}">
<div class="dd-handle">
<a href="#subchaptercontent">Chapter: ${records.levelName}</a>
</div>
</li>
</ol>
</c:foreach>
这是我的点击功能代码:
$(window).load(function(){
$("#chapterlist li a").on("click", function(){
level = $(this).parent('li').val();
console.log("level"+level);
});
});
你能帮忙吗?
答案 0 :(得分:0)
您无法使用value
方法获取此对象的value
属性。
请通过
<c:forEach items="${cmlist}" var="records">
<ol class="dd-list" id="chapterlist" >
<li id="cs" class="dd-item" data-id="1" data-value="${records.levelID}"><div class="dd-handle"><a href="#subchaptercontent">Chapter: ${records.levelName}</a> </div>
</li></ol></c:foreach>
和你的javascript
level = $(this).parent('li').data('value');
答案 1 :(得分:0)
parent()
函数仅上升到一个级别的DOM,因此它会到达<div>
元素并停在那里。请改用parents()
。
注意,val()
仅在值为整数时才有效。但是,对于有序列表不应该是一个问题,其中value是项目的编号。