使用jquery从动态项目列表中检索值

时间:2013-04-16 01:12:28

标签: jquery jsp jstl

首先,如果这是一个重复的问题,我道歉。即使我发现了类似的问题,我找不到我想要的确切解决方案。 在我的JSP上,我正在迭代一个项目列表,如下所示。

<c:forEach var="entry" items="${xxx}">
                                <form:form action="XXX.do" method="POST" autocomplete="off">
                                    <!-- other fields -->
                                    <input type="hidden" name="ip" id="ip" value="${entry.ipAddress }" />
                                    <input type="button" value="Submit" onclick="fun()"/>
                                </form>
</c:forEach>

在我的jquery函数中,我试图检索id为'ip'的隐藏字段的值,如下所示:

fun() {
    var ip = $('#ip').val();
    //Other stuff
}

现在因为隐藏字段的id与列表中所有条目的'ip'相同,所以我只检索列表中第一个元素的'ip'值。如何在动态大小的列表中获取第n个元素的'ip'值?

2 个答案:

答案 0 :(得分:2)

使用jQuery的eq方法:

  

将匹配元素集合减少到指定索引处的元素。

$("[name='ip']").eq(n)

:eq

$("[name='ip']:eq(n)")

其中n是您感兴趣的第n个元素。

此外,id应该是唯一的。它们不应该是相同的。

答案 1 :(得分:1)

除了多个id之外的问题(你应该使用一个类),你可以这样做:

var ip = $('input[type="hidden"][name="ip"]:nth-child('+n+')').val();