有一个静态的select,数据从后台读取过来,要根据读来的数据来改变select的选中项,value值与给来的数据相等,就将它设为selected状态例如:修改用户信息,有个男或者女。
要把用户当前的信息读取显示到修改信息页面上,SELECT一个默认选中的问题。要默认选中数据库中读取出来那个性别。问下大家有什么方法做这个呀。最好可以提供简单例子。
我自己想了几个方法:
1.参考日期插件那种,一个文本框显示,当点击文本框的时候 出现一个SELECT供选择2.一个就是循环去遍历这个SELECT的option  和数据里面的值相等就默认选中大家有什么好的方法呀?

解决方案 »

  1.   

    <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应该可以看懂吧!
      

  2.   

    如果使用框架的话不必那么麻烦 前台直接使用框架自带的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>
      

  3.   

    第二种
    <select name="www" >
      <option value="0" <% if(bz.equals("0")) out.print(" selected=\"selected\""); %>>男</option>
      <option value="1" <% if(bz.equals("1")) out.print(" selected=\"selected\""); %>>女</option>
        </select>
      

  4.   

    你用什么框架啊,struts2中的标签好用,
    <s:select value="%{list}" listKey="key" listValue="value" value="%{keyValue}"></s:select>
    list是后台传过来的对象集合;key、value是对象中的属性;keyValue是后台传过来的值;当对象集合中的key属性值与keyValue相等时,选中;
    不知道能不能说清楚