【发布时间】:2019-04-15 16:53:52
【问题描述】:
我正在用 jsp 打印一个数组列表。该数组列表中的每个对象都使用如下循环打印:
<% ArrayList <MessageObject> list = (ArrayList<MessageObject>) request.getAttribute("list"); %>
<%int index = 0;%>
<%for(MessageObject msg :list){
index++;
if(mensaje.getState().compareTo("unread") == 0){%>
<tr data-status="unread" class="unread">
<td>
<a href="javascript:;" class="star">
<i class="glyphicon glyphicon-star"></i>
</a>
</td>
<td>
<div class="media">
<h4 class="title">
User Identifier
</h4>
</div>
</td>
<td id="unread-id">
<div class="media">
<p class="summary"><% out.print(msg.getMessage());%></p>
<input id="index" type="text" value="<%out.print(index);%>"></input>
</div>
上面没有写一些结束标签和其他结构,是为了让我的代码更容易阅读。
基本上,它会打印来自队列的消息,以及它在数组列表中的索引:
我的问题是,当我点击任何消息时,我想保存它们的索引值。
我试过了:
<script>
$(document).on('click', '#unread-id', function () {
var index = $('#index').val();
$("#setindex").val(index);
});
所以我点击任何包含消息的 div,脚本被调用,但我总是得到相同的索引值,1。 问题是始终具有相同 id 名称的相同 div,导致我的脚本总是选择第一个 id 为 unread-id 的 div,它始终是第一个,所以它返回 1。
如果我所有的容器 div 都具有相同的 id 值,我如何获取点击的 div 的索引?
【问题讨论】:
标签: javascript java jquery spring jsp