日期:2014-05-17  浏览次数:20843 次

SELECT选项默认选择的问题
有一个静态的select,数据从后台读取过来,要根据读来的数据来改变select的选中项,value值与给来的数据相等,就将它设为selected状态

例如:修改用户信息,有个男或者女。
要把用户当前的信息读取显示到修改信息页面上,SELECT一个默认选中的问题。要默认选中数据库中读取出来那个性别。

问下大家有什么方法做这个呀。最好可以提供简单例子。
我自己想了几个方法:
1.参考日期插件那种,一个文本框显示,当点击文本框的时候 出现一个SELECT供选择

2.一个就是循环去遍历这个SELECT的option 和数据里面的值相等就默认选中

大家有什么好的方法呀?



------解决方案--------------------
我用第二种,每一种比较好看,但代码量多点
------解决方案--------------------
第二中 好点呀
------解决方案--------------------
<logic:notEmpty name="tList">
<logic:iterate id="t" name="tList">
<select name="typename" style="width:200px" class="STYLE6" id="tname"> <logic:iterate id="row" name="typeList">
<c:if test="${row.id==t.id}">
<option value="${row.id}" selected="selected">${row.tType}</option>
</c:if>
<c:if test="${row.id!=t.id}">
<option value="${row.id}">${row.tType}</option>
</c:if>
</logic:iterate>
</select>
</logic:iterate>
</logic:notEmpty>
相信LZ应该可以看懂吧!
------解决方案--------------------
如果使用框架的话不必那么麻烦 前台直接使用框架自带的select标签,只要后台设定好值就ok?如果不使用框架的话 推荐使用三元运算符 
<select name="info.contactGender" >
<option value="-1" ${info.contactGender == null ?"selected= 'selected'" : ""} >请选择</option>
<option value="0" ${info.contactGender == 0 ?"selected= 'selected'" : ""}>女士</option>
<option value="1" ${info.contactGender == 1 ?"selected= 'selected'" : ""}>先生</option>
<option value="2" ${info.contactGender == 2 ?"selected= 'selected'" : ""}>人妖</option>
</select>