admin管理员组文章数量:1431726
Hello guys this may be easy question but I m finding it quite tricky. Scenario is I m printing all the values from the database table using 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>
And now onclick Allocate button I want that particular pid (i.e suppose there are 1,2,3,...,10 pid so when I click on 4th I should get the 4th pid as a value) in jquery.
But in jQuery when I try to get that value I always got last value in the loop whichever button I click.
In jQuery Section
$("a#popa").click(function(){
var input = $("<c:out value='${pid}' />");
alert(input);
});
and I also tried this
<c:forEach var='lang' items='${paramValues.pid}'>
<label><font color='#00CC00'><c:out value='${lang}'/></font></label>
</c:forEach>
but nothing works
Please Help me and guide me how to get the current value of pid on click in jQuery.
Hello guys this may be easy question but I m finding it quite tricky. Scenario is I m printing all the values from the database table using 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>
And now onclick Allocate button I want that particular pid (i.e suppose there are 1,2,3,...,10 pid so when I click on 4th I should get the 4th pid as a value) in jquery.
But in jQuery when I try to get that value I always got last value in the loop whichever button I click.
In jQuery Section
$("a#popa").click(function(){
var input = $("<c:out value='${pid}' />");
alert(input);
});
and I also tried this
<c:forEach var='lang' items='${paramValues.pid}'>
<label><font color='#00CC00'><c:out value='${lang}'/></font></label>
</c:forEach>
but nothing works
Please Help me and guide me how to get the current value of pid on click in jQuery.
Share Improve this question edited Oct 6, 2015 at 14:59 Fela 27.5k8 gold badges27 silver badges24 bronze badges asked May 31, 2014 at 13:00 AtiqAtiq 1662 gold badges6 silver badges21 bronze badges1 Answer
Reset to default 3The value of each id
attribute should be unique across the entire DOM. You're using id="popa"
in a loop, this means that there will be more than one. When you try to select the id
with jQuery it gives you the last one.
I would consider using the following approach. Instead of using an id
, use a data-*
attribute.
<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>
Then you can wire up the click event with something like this.
$("[data-pid]").click(function(){
var pid = $(this).data("pid");
alert(pid);
});
本文标签: javascriptHow to access variable values from jstl foreach to jQueryStack Overflow
版权声明:本文标题:javascript - How to access variable values from jstl foreach to jQuery - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745578900a2664500.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论