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>

基本的に、私のコードはデータベースから次の値へと 1 つの値を繰り返します。特筆すべきは、INPUT の<input type="hidden" id="hello" value="${projects.projid}"/>値が反復ごとに変化することです。ただし、jQuery で選択すると、データベースから PROJID の 2 番目の値を取得できません。

ここに私の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 に答える