1
<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 in<input type="hidden" id="hello" value="${projects.projid}"/>每次迭代都会改变它的值。但是,当我通过 jQuery 选择它时,我无法从数据库中获取 PROJID 的第二个值。

这是我的jQuery

$(document).ready(function(){
    $('#projectname').click(function(){
        $(this).each(function(i){
            var choice = $('#hello').val()  
            $('#right').load('show_project_details',{projectid:choice});
        });
    });
});

我知道使用 ID 进行选择仅限于第一个元素,但我的代码没有解决方法吗?我真的想避免使用单选按钮。

如果你有时间,请回复。非常感谢你!

4

1 回答 1

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});
    });
});
于 2012-04-24T08:45:12.627 回答