问题描述
1:后台获取一个A对象,A对象已传至页面,页面已经用<c:forEach>循环出下拉框,像这样<c:forEachitems="${A}"var="obj"><optionvalue="${boj.xxx}">${boj.xxx}</option></c:forEach>2:现在的需求是,当我选中一个下拉选项时怎么用c:if或其他方式动态显示已选中的下拉选项;并保持原来已循环出来的下拉项
解决方案
解决方案二:
<optionvalue="${boj.xxx}"${boj.xxxeqparam.SELECT_NAME?'selected="selected"':''}>${boj.xxx}</option>其中SELECT_NAME是你select空间的名字<selectname="SELECT_NAME">
解决方案三:
没大明白你的意思,你既然都遍历出来了..在页面选中哪个就是哪个了!如果你的意思是:你选择了一个后然后提交了回到本页后先要回显之前选中的值那你可以在后台把你提交过去的值放到request中然后页面用<c:iftest="${boj.xxxeqrequestValue}">selected="selected"</c:if>最终如下:<c:forEachitems="${A}"var="obj"><optionvalue="${boj.xxx}"<c:iftest="${boj.xxxeqrequestValue}">selected="selected"</c:if>>${boj.xxx}</option></c:forEach>
解决方案四:
一定要c:if的话<optionvalue="${boj.xxx}"<c:iftest="${boj.xxxeqparam.SELECT_NAME}">selected="selected"</c:if>>${boj.xxx}</option>
解决方案五:
引用3楼shine333的回复:
一定要c:if的话<optionvalue="${boj.xxx}"<c:iftest="${boj.xxxeqparam.SELECT_NAME}">selected="selected"</c:if>>${boj.xxx}</option>
请问上面的param是什么,是c标签自带的的还是传至页面的参数?
解决方案六:
你可以通过判断它的selected属性