Saya mencoba membuat kuis pertanyaan/jawaban di mana ada jawaban pilihan ganda (dalam tombol radio) per pertanyaan. Saya ingin menampilkan Satu pertanyaan dan serangkaian jawaban yang relevan sekaligus. Bagaimana cara saya mengulangi daftar dengan kontrol sehingga pada klik itu akan menampilkan pertanyaan dan jawaban berikutnya?

    <form action="/addStuResponse" method="post">       
        
        <c:forEach items="${qlist}" var="question"  varStatus="loopCounter">    
        
            <input type="hidden" name="quesSet" value="${question.quesId}">     
            <textarea rows="3" cols="5" readonly="readonly">${question.quesText}</textarea>
            
            <c:forEach items="${anslist}" var="answer">
                <c:if test="${answer.questions.quesId == question.quesId}">
                    
                    <input type="radio" name="response" value="${answer.answer}">                           
                
                </c:if>
            </c:forEach>
        </c:forEach>
        
            <button type="submit" >Next</button>
    </form>
0
Tony 6 Juli 2020, 16:05

1 menjawab

Jawaban Terbaik

Simpan tanda isCurrentQuestiondi setiap pertanyaan. Setel tanda pertanyaan pertama ke true dan tanda pertanyaan lainnya ke false. Saat mengklik tombol berikutnya, ubah flag isCurrentQuestion menjadi false untuk pertanyaan pertama dan jadikan pertanyaan kedua sebagai benar. dan terus seperti ini sampai pertanyaan terakhir.

Ubah kode Anda seperti di bawah ini:

 <form action="/addStuResponse" method="post">       
        
        <c:forEach items="${qlist}" var="question"  varStatus="loopCounter">    
          <c:if test="${question.isCurrentQuestion == true}">
            <input type="hidden" name="quesSet" value="${question.quesId}">     
            <textarea rows="3" cols="5" readonly="readonly">${question.quesText}</textarea>
            
            <c:forEach items="${anslist}" var="answer">
                <c:if test="${answer.questions.quesId == question.quesId}">
                    
                    <input type="radio" name="response" value="${answer.answer}">                           
                
                </c:if>
            </c:forEach>
          </c:if>
        </c:forEach>
        
            <button type="submit" >Next</button>
    </form>
0
Pradyskumar 6 Juli 2020, 14:39