<c:forEach var="projects" items="${projectList}">
<tr>
<td class="font ">
<a href="#" id="projectname" name="projectname" class="testone" >${projects.name}</a>
</td>
<input type="hidden" id="hello" value="${projects.projid}"/>
</tr>
</c:forEach>
基本上,我的代码会将数据库中的一个值迭代到下一个值。具体而言,<input type="hidden" id="hello" value="${projects.projid}"/>
中的INPUT每次迭代都会改变其值。但是,当我通过jQuery选择它时,我无法从数据库中获取PROJID的第二个值。
这是我的jquery '$(文件)。就绪(函数(){
$('#projectname').click(function(){
$(this).each(function(i){
var choice = $('#hello').val();
$('#right').load('show_project_details',{projectid:choice}); });});});
我知道使用ID进行选择会限制在第一个元素但是我的代码没有解决方法吗?我真的想避免使用单选按钮。
如果您有时间请回复。非常感谢你!
答案 0 :(得分:1)
HTML id属性在整个HTML文档中应该具有唯一值。
所以,改变你的JSP:
<c:forEach var="projects" items="${projectList}">
<tr>
<td class="font">
<a href="#" class="projectname">${projects.name}</a>
</td>
<input type="hidden" name="projectid${projects.projid}" value="${projects.projid}" />
</tr>
</c:forEach>
然后,使用此JavaScript代替您的:
$(function() {
$("a.projectname").click(function() {
var choice = $(this).parent().next().val();
$('#right').load('show_project_details', {projectid: choice});
});
});