从列表单击功能获取列表项的值

时间:2014-02-19 08:05:31

标签: javascript jsp

我需要从每个列表中获取价值

这是我的清单:

<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);
   });
});

你能帮忙吗?

2 个答案:

答案 0 :(得分:0)

您无法使用value方法获取此对象的value属性。 请通过

更新你的jsp
 <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');

Fiddle to test this solution

答案 1 :(得分:0)

parent()函数仅上升到一个级别的DOM,因此它会到达<div>元素并停在那里。请改用parents()

JSFiddle

注意,val()仅在值为整数时才有效。但是,对于有序列表不应该是一个问题,其中value是项目的编号。