gpt4 book ai didi

javascript - 如何从 jSTL foreach 到 jQuery 访问变量值

转载 作者:行者123 更新时间:2023-11-28 19:47:56 25 4
gpt4 key购买 nike

大家好,这可能是一个简单的问题,但我发现它非常棘手。场景是我使用 jSTL foreach 打印数据库表中的所有值。

<c:forEach items="${pal}" var="p">
<tr>
<td><c:out value="${p.pid}"></c:out></td>
<td><c:out value="${p.pname}"></c:out></td>
<td><c:out value="${p.pdesc}"></c:out></td>
<td><c:out value="${p.pestd}"></c:out></td>
<td><a id="popa" href="#">Allocate</a></td>
</tr>
</c:forEach>

现在 onclick 分配按钮我想要那个特定的 pid(即假设有 1,2,3,...,10 pid,所以当我单击第 4 个时,我应该在 jquery 中获取第 4 个 pid 作为值)。

但是在 jQuery 中,当我尝试获取该值时,无论单击哪个按钮,我总是会得到循环中的最后一个值。

jQuery 部分

 $("a#popa").click(function(){

var input = $("<c:out value='${pid}' />");
alert(input);

});

我也尝试过这个

 <c:forEach var='lang' items='${paramValues.pid}'>
<label><font color='#00CC00'><c:out value='${lang}'/></font></label>
</c:forEach>

but nothing works

请帮助我并指导我如何在 jQuery 中单击时获取 pid 的当前值。

最佳答案

每个id属性的值在整个DOM中应该是唯一的。您在循环中使用 id="popa",这意味着将有多个。当您尝试使用 jQuery 选择 id 时,它会为您提供最后一个。

我会考虑使用以下方法。不要使用 id,而是使用 data-* 属性。

<c:forEach items="${pal}" var="p">
<tr>
<td><c:out value="${p.pid}"></c:out></td>
<td><c:out value="${p.pname}"></c:out></td>
<td><c:out value="${p.pdesc}"></c:out></td>
<td><c:out value="${p.pestd}"></c:out></td>
<td><a data-pid="${p.pid}" href="#">Allocate</a></td>
</tr>
</c:forEach>

然后你可以用这样的东西连接点击事件。

$("[data-pid]").click(function(){
var pid = $(this).data("pid");
alert(pid);
});

关于javascript - 如何从 jSTL foreach 到 jQuery 访问变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23970367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com