我有一张地图(${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>