如何从jstl foreach到jQuery访问变量值
How to access variable values from jstl foreach to jQuery
大家好,这可能是一个简单的问题,但我发现它相当棘手。场景:我正在使用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个,我应该得到第4个pid值)在jquery。
但是在jQuery中,当我尝试获取这个值时我总是得到循环中的最后一个值无论我点击哪个按钮
In jQuery Section
$("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>
然后你可以像这样连接click事件。
$("[data-pid]").click(function(){
var pid = $(this).data("pid");
alert(pid);
});
相关文章:
- 为什么可以't PHP查找可以使用JS或jQuery访问的元素
- 使用jQuery访问动态创建的项
- 使用jQuery访问元素'来自谷歌文档托管的iframe的文本
- 使用jQuery访问Special行中的其他同级
- 如何使用jQuery访问隐藏的Dom元素
- jQuery访问列表视图->ul->李->span->img
- 注入SVG元素并使用jquery访问它
- 使用JQuery访问$.GET中的项目
- 如何使用jQuery访问属于函数内部另一个函数的对象的属性
- 我怎么把范围弄错了?无法从jQuery访问此函数;.在“上”;
- jquery访问多维数组的列
- 如何使用jQuery访问父元素属性
- 通过jQuery访问Sizzle方法
- 使用 jquery 访问 Asp.net 控件(所有选项)
- 使用jquery访问聚合物元素变量
- 使用jQuery访问Flash函数
- jQuery访问node.js全局变量
- 如何使用 jQuery 访问 AJAX 中的 JSON 对象
- 使用 jQuery 访问 Angular 指令中的元素
- jQuery 访问对象