0

首先,如果这是一个重复的问题,我深表歉意。即使我发现了类似的问题,我也找不到我想要的确切解决方案。在我的 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”值?

4

2 回答 2

2

使用 jQuery 的eq方法:

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

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

或与:eq

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

n您感兴趣的第 n 个元素在哪里。

此外,ids 应该是唯一的。不存在它们应该相同的情况。

于 2013-04-16T01:17:16.537 回答
1

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

var ip = $('input[type="hidden"][name="ip"]:nth-child('+n+')').val();
于 2013-04-16T01:18:14.650 回答