<select name="xb" >
            <% 
            while(It.hasNext()){
                Code code =(Code)It.next();
                if("男".equals(code.getNAME().trim())){
                    out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                    //continue;
                }else if("未知".equals(code.getNAME().trim())){
                    //out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                }else{
                    out.print("<option value='"+code.getCODE()+"'>"+code.getNAME()+"</option>");
                }
            } 
            %>
            </select>else if("未知".equals(code.getNAME().trim()))加了这行判断就定位不到男 
不加是可以的
<td >
              <%  It = CodeManager.GetCodeIterator("xb"); %>
            <select name="xb" >
            <% 
            while(It.hasNext()){
             Code code =(Code)It.next();
             //if(code.getCODE().equals("-1")){
             // continue;
             //}
             if("男".equals(code.getNAME().trim())){
             out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
             }else{
             out.print("<option value='"+code.getCODE()+"' >"+code.getNAME()+"</option>");
             }
            } 
            %>
            </select></td>
这是没加的.
什么原因?????

解决方案 »

  1.   

    我怎么看得怪怪的,你一个while循环里面,个个都是默认值我问一下,你到底想哪个才是默认值啊?select默认是最后一个默认值才是默认输出
      

  2.   


    你看清点}else if("未知".equals(code.getNAME().trim())){
                        //out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                    }//
      

  3.   

    LS说的没错啊 你那个else if 中怎么也有个selected 这个是默认选择的啊 
    你下面的那个没有所以就是正确的 好好检查代码
      

  4.   

    if("男".equals(code.getNAME().trim())){
                        out.print("<option value='"+code.getCODE()+"' selected>"+code.getNAME()+"</option>");// 这有个selected
                    }else if("未知".equals(code.getNAME().trim())){
                        ("<option value='"+code.getCODE()+"' selected>"+code.getNAME()+"</option>");// 这有个selected
    }你是while循环呢,
      

  5.   

    else   if( "未知 ".equals(code.getNAME().trim())){ 
                                            //out.print( " <option   value= ' "+code.getCODE()+ " '   selected   > "+code.getNAME()+ " </option> "); 
                                    } 
      

  6.   

    别用out.print,
    把下面的转换一下
    if("男".equals(code.getNAME().trim())){
          out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
    } if("男".equals(code.getNAME().trim())){%>
         <option value='<%=code.getCODE() %>' 'selected' ><%=code.getNAME() %></option>
    <%} %>
    ....下面的也同样转换下
    不知道结果如何,但是楼主可以一试
      

  7.   


    <select name="xb" >
                <% 
                while(It.hasNext()){
                    Code code =(Code)It.next();
                    if("男".equals(code.getNAME().trim())){
                    
                %>
                    <option value=<%=code.getCODE() %> selected ><%=code.getNAME() %></option>
                    
                    <%
                    }else if("未知".equals(code.getNAME().trim())){
                        //out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                    }else{
                    %>
                        <option value=<%=code.getCODE() %> ><%=code.getNAME() %></option>
                <% 
                    }
                } 
                %>
                </select>
    还是样的
      

  8.   

    code.getNAME()输出,可能里面的值不是“男”
      

  9.   


    <select name="xb" >
                
                    <option value=1 selected >男</option>
                    
                    
                        <option value=2 >女</option>
                
                </select>
    图看不清看这吧 这是查看源文件的代码
      

  10.   

    <option selected="selected">Saab</option>
    标准写法。。不知…………
      

  11.   

    你要判断的只是selected属性而已,所以只需要在
    <select name="xb" >
    <option value=<%=code.getCODE() %> selected ><%=code.getNAME() %></option>
    中针对“selected ”属性做判断。
    code.getCODE()为“男”,则打印出“selected ”属性。