我这里在做修改功能
 但是每次点击修改的时候 下拉菜单总是没有锁定,还需要人工的锁定
我想问问 这个如何实现
我的代码: <tr align="center">
          <td>地标建筑</td>
          <td>
           <html:select property="signBaseId" value="<%=restaurantInfo.getSignBaseInfo().getSignName()%>">
           <logic:present name="signList">
           <html:options collection="signList" labelProperty="signName" property="signId"/>
           </logic:present>
           </html:select>   
          </td>
          <td><%=restaurantInfo.getSignBaseInfo().getSignName()%>(编号:<%=restaurantInfo.getSignBaseInfo().getSignId()%>)</td>
        </tr>

解决方案 »

  1.   

    value应该和你的property属性相对象吧。
    value="<%=restaurantInfo.getSignBaseInfo().getSignId()%>"
    试验下。
    如果不行的话,就用jstl。
    直接用
    c:if来判断选中情况。
      

  2.   

    标签里有个selected属性,你要锁定哪个下拉菜单的值,在那直接加上selected就可以了!
      

  3.   


    select标签selected属性,把默认值的selected设为true或selected
      

  4.   

    通过js判断,restaurantInfo.getSignBaseInfo().getSignName()和下拉列表里的元素循环比较,相等的话就将select的selectedIndex设置为该option对应的位置
      

  5.   

    select标签selected属性,把默认值的selected设为true或selected这个 放到哪里啊?
      

  6.   

    哈哈。。找对人了,前几天自己刚刚做过...
    用struts的select标签的话是可自动锁定的。我是用js控制希望对你有帮助哈..下面是代码:还附有完整的列子。
    注意的是,在你的jsp页面要取到你将要锁定的下拉列表的值,用脚本取出来就不写了哈...
    也就是同下面js代码里面的<%=strStatus%>... <html>
    <head>
    <script type="text/javascript">
    function initOption(){
    var objOptions = document.getElementById("sel").options;

    for(var i =0;i<objOptions.length;i++){ if(document.getElementById("sel").options[i].value=="3")
    {
    alert(document.getElementById("sel").options[i].value);
    document.getElementById("sel").options[i].selected = true;
    }
    }
    } </script>
    </head>
    <body onload="initOption();">
    <form name="form1">
    ABC<select id="sel">
    <option value="1">AAA</option>
    <option value="2">BBB</option>
    <option value="3">CCC</option>
    </select>
    </form>
    </body></html>
                       </tr>
    这些代码就能达到你的要求了...如果成功了的话别忘了给分哈嘻嘻....>**<
      

  7.   


    更在,改变value值就行了....
      

  8.   

    对比好了,然后用selected 锁定;
    <%if(这个是你要的那个条件){%>
       <option  selected> 锁定 </option><%}else{%>
       <option > 不是你要的条件,不锁定</option><%}%>
      

  9.   

    个人觉得这样不太方便,如果我的值变了呢?你不是要改条件和option的值了嘛?
    这样有点背油了噢。
      

  10.   


    现在,仔细看了你 在 8# 的回复,你的代码很经典。我也学习下了。
    其实如果你的值变了,这个也很简单。
      <option  selected> 锁定  </option>  获取到的都是动态的传递过来的List 值,不管你怎么改变,
    里面全部都是动态值,下面是我写过的一段代码:        <select name="Fn_dd">
    <% Vector vc_dd= (Vector) request.getAttribute("vc_dd");
    for(int i=0;i<vc_dd.size();i++){
       Hashtable hs_dd=new Hashtable();
        hs_dd=(Hashtable)vc_dd.get(i);
     %>
    <%if(hs_dd.get("NAME").equals((String)hs_zzd.get("DD"))){%>
       <option value="<%=hs_dd.get("NAME")%>" selected>
          <%=hs_dd.get("NAME")%>
       </option>
    <%}else{%>                 <option value="<%=hs_dd.get("NAME")%>">
              <%=hs_dd.get("NAME")%>
           </option>
     <%}%>
     <%}%>
        </select>这里面没有一个事固定的值。