如何使用jQuery选择具有相同id的元素的唯一值

时间:2012-04-24 08:34:00

标签: jsp jquery

<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进行选择会限制在第一个元素但是我的代码没有解决方法吗?我真的想避免使用单选按钮。

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

1 个答案:

答案 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});
    });
});