2016-03-28 2 views
1

私のJSPページでは、学生のリストを反復して親ページに表示していますが、「削除」または「編集」ボタンを押すとstudentIDのパラメータ1に設定する必要があります削除/編集することは、それが設定したパラメータには、両方studentID's.Hereは、コードといくつかのPICのです:JSP <c:foreach>設定するパラメータを選択

<c:forEach var="thisStudent" items="${studentList}"> 
    <form:hidden path="studentID" value="${thisStudent.studentID}"/> 
    <div class="panelheader"> 
     <p>${thisStudent.userName}</p> 
    </div> 
    <div class="panel panel-default"> 
     <div class="panel-body fixed-panel"> 
     <div class="childinfo"> 
      <img src="resources/images/Matildacircle.png" class="center-block"> 
      <p>${thisStudent.firstName}</p> 
      <p>Points ${thisStudent.rewardPoints} </p> 
      <BR> 
      <button type="button" class="btn btn-default center-block redeembtn">Redeem</button> 
     </div> 
     </div> 
     <div class="panel-footer clearfix"> 
     <div class="pull-left">           
      <button id="removeStudent" type="submit" name="action" value="removeStudent" style="color: #32B2B2">remove</button> <span class="colortext">|</span> 
      <button id="editStudent" type="submit" name="action" value="editStudentInfo" style="color: #32B2B2">edit</button> 
     </div> 
     </div> 
    </div> 
</c:forEach> 

enter image description here


enter image description here

答えて

1

c:forEachタグでレンダリングされるフィールドは、複数のhiddenです。しかし、1つだけ使う必要があります。したがって、隠しタグをc:forEach本文から移動する必要があります。

ボタンをクリックすると、JavaScriptコードで処理できるおよびイベントが表示され、現在のstrudentIDで非表示フィールドの値を設定できます。

<button id="editStudent" type="submit" name="action" value="editStudentInfo" style="color: #32B2B2" onclick="setStudentID(${thisStudent.studentID})">edit</button> 
     </div> 
<script> 
    function setStudentID(studentID){ 
    document.forms[0].elements['studentID'].value=studentID; 
    } 
</script> 

注:あなたが返事@Roman C用

+0

感謝を使用する必要がありますが、JavaScriptのコードが実行されていないので、studentIDがパラメータに設定されていないスクリプトタグ。 – Popeye

+0

なぜ実行されていないのですか? –

+0

それは働いた!私はコード内にこの行()を挿入していませんでした: '' それを実行した後、どうもありがとう!!それは私に多くの時間を節約しました:)) – Popeye

関連する問題