我有一张地图(${userOptions})。例如,{1=B, 2=B, 3=D, 4=A, 5=D}nxtId包含1或2或3等。

如果<c:if test="${useroption.key == nxtId}">返回成功,则检查变量value是否包含A或B或C或D。如果值为'A',则必须选中相应的单选按钮,而其余部分则必须取消选中,依此类推。

我目前正在使用以下内容:

<c:forEach var="useroption" items="${userOptions}">
    <c:out value="${useroption.key == nxtId}"/>
    <script>
        alert("${useroption.key == nxtId}");
    </script>
    <c:if test="${useroption.key == nxtId}">
    <c:set var="check" value="true"/>
    <c:set var="value" value="${useroption.value}"/>
    </c:if>
    <script>
        alert("check value is"+${check});
    </script>
</c:forEach>

<c:choose>
    <c:when test="${check eq true}">
        <script>
            alert("user option is "+${useroption.value});
        </script>
        <c:forEach var="opt" items="${questionForm}">
            <c:choose>
                <c:when test="${value == 'A' }">
                    <tr>
                        <td style="padding-left:200px;">
                        <input type="hidden" name="id" id="id" value="${opt.question_id}"/>
                        <h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>

                        <input type="radio" name="option" value="A" id="A" checked="checked">

                        A. <c:out value="${opt.option1}"/><br>
                        <input type="radio" name="option" value="B" id="B">
                        B.  <c:out value="${opt.option2}"/><br>
                        <input type="radio" name="option" value="C" id="C">
                        C.  <c:out value="${opt.option3}"/><br>
                        <input type="radio" name="option" value="D" id="D">
                        D.  <c:out value="${opt.option4}"/><br><br>

                        </td>
                    </tr>
                    <tr align="center">
                        <td>
                        <c:if test="${opt.question_id > 6}">
                        <input type="submit" value="submit"/>
                        </c:if>
                        </td>
                    </tr>
                </c:when>
                <c:when test="${value == 'B' }">
                    <tr>
                        <td style="padding-left:200px;">
                        <input type="hidden" name="id" id="id" value="${opt.question_id}"/>
                        <h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>

                        <input type="radio" name="option" value="A" id="A" >

                        A. <c:out value="${opt.option1}"/><br>
                        <input type="radio" name="option" value="B" id="B" checked="checked">
                        B.  <c:out value="${opt.option2}"/><br>
                        <input type="radio" name="option" value="C" id="C">
                        C.  <c:out value="${opt.option3}"/><br>
                        <input type="radio" name="option" value="D" id="D">
                        D.  <c:out value="${opt.option4}"/><br><br>

                        </td>
                    <tr align="center">
                        <td>
                        <c:if test="${opt.question_id > 6}">
                        <input type="submit" value="submit"/>
                        </c:if>
                        </td>
                    </tr>
                </c:when>
                <c:when test="${value == 'C' }">
                    <tr>
                        <td style="padding-left:200px;">
                        <input type="hidden" name="id" id="id" value="${opt.question_id}"/>
                        <h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>

                        <input type="radio" name="option" value="A" id="A" >

                        A. <c:out value="${opt.option1}"/><br>
                        <input type="radio" name="option" value="B" id="B">
                        B.  <c:out value="${opt.option2}"/><br>
                        <input type="radio" name="option" value="C" id="C" checked="checked">
                        C.  <c:out value="${opt.option3}"/><br>
                        <input type="radio" name="option" value="D" id="D">
                        D.  <c:out value="${opt.option4}"/><br><br>

                        </td>
                    <tr align="center">
                        <td>
                        <c:if test="${opt.question_id > 6}">
                        <input type="submit" value="submit"/>
                        </c:if>
                        </td>
                    </tr>
                </c:when>
                <c:when test="${value == 'D' }">
                    <tr>
                        <td style="padding-left:200px;">
                        <input type="hidden" name="id" id="id" value="${opt.question_id}"/>
                        <h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>

                        <input type="radio" name="option" value="A" id="A" >

                        A. <c:out value="${opt.option1}"/><br>
                        <input type="radio" name="option" value="B" id="B" >
                        B.  <c:out value="${opt.option2}"/><br>
                        <input type="radio" name="option" value="C" id="C">
                        C.  <c:out value="${opt.option3}"/><br>
                        <input type="radio" name="option" value="D" id="D" checked="checked">
                        D.  <c:out value="${opt.option4}"/><br><br>

                        </td>
                    <tr align="center">
                        <td>
                        <c:if test="${opt.question_id > 6}">
                        <input type="submit" value="submit"/>
                        </c:if>
                        </td>
                    </tr>
                </c:when>
                <c:otherwise>
                    <script>
                        alert("hello");
                    </script>
                        <td style="padding-left:200px;">
                        <input type="hidden" name="id" id="id" value="${opt.question_id}"/>
                        <h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>
                        <input type="radio" name="option" value="A" id="A" >

                        A.  <c:out value="${opt.option1}"/><br>
                        <input type="radio" name="option" value="B" id="B">
                        B.  <c:out value="${opt.option2}"/><br>
                        <input type="radio" name="option" value="C" id="C" >
                        C.  <c:out value="${opt.option3}"/><br>
                        <input type="radio" name="option" value="D" id="D">
                        D.  <c:out value="${opt.option4}"/><br><br>
                        </td>
                    <tr align="center">
                        <td>
                        <c:if test="${opt.question_id > 6}">
                        <input type="submit" value="submit"/>
                        </c:if>
                        </td>
                    </tr>
                </c:otherwise>
            </c:choose>
        </c:forEach>
    </c:when>
<c:otherwise>
</c:otherwise>
</c:choose>


有更好的方法吗?

最佳答案

您可以做到,而无需重复类似的操作

A.  <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B" "${value == 'B' ? 'checked' : ''}">
B.  <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C" "${value == 'C' ? 'checked' : ''}">
C.  <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D" "${value == 'D' ? 'checked' : ''}" >
D.  <c:out value="${opt.option4}"/><br><br>

09-11 18:15
查看更多