下拉框里存放的是是仓库名称,如果是本仓库的账号登陆,下拉框只有本部门仓库一个选项,如果是上级部门账号登陆,那么下拉框是其下所有仓库名称。   我的问题是,如何实现,当时本仓库的账号登陆时,页面初始化时,下拉框中直接就是其所在仓库,当上级部门账号登陆时,下拉框内是默认的  ----请选择------   的样子
想问问各位前辈,这个问题是如何解决的

解决方案 »

  1.   

    根据登陆进来的账号去数据库查询该账号下能选择的仓库---返回一个仓库的list。。把这个list放在select里面迭代出来其中option的value写仓库的id。。中间写仓库的name
      

  2.   

    我不是这个意思啊下拉框里的值我用connect by prior树查询已经解决了。我的意思是,比如张三是A1仓库管理员,那么他登陆后,那个下拉框只有A1一个值(这个已经解决),并且A1仓库已选中(这是我要问的问题)。当王五(所有仓库的管理员)登录时,进入页面,下拉框中默认没有选中的值,只是我们放的一个 --请选择--
    这下,估计表达清楚了。呵呵
      

  3.   


    <select name="testName" id="testId">
       <option value="0"/>--请选择--
       <c:foreach item="${list}" var="l">
         <option value="${l.id}"/>${l.name}
       </c:foreach>
    </select>
      

  4.   

    你表达明白了,只是你没明白楼上诸位的意思。
    是让你根据登录帐户的不同查询出不同的List传到jsp,也就是在查询语句上加上登录帐号的关联。
      

  5.   

    这个肯定要根据登录人的身份去获取下拉框的列表,上级和下级应该有一定的关系。自己和自己1:1
    上级和夏季1:n登录的时候获取一下不同的list就完了。
      

  6.   

    我要疯啦。。比如说,张三、王五 两个账号,张三是A仓库的管理员,王五为所有仓库A、B、C……的管理员当 张三 登录的时候,下拉框里就只有 A 一个仓库;
    当 王五 登录的时候,下拉框里就有A、B、C……所有的仓库;这个我用connect by prior树查询,能够解决不同级别登录账号的问题。如果还要根据不同的登录人再去查询个list,这不是多此一举吗?
    现在我要问的是:登陆后,下拉框的值首先是 ---请选择--- ,然后是选项:仓库A(权限大的话,有多个仓库选项)我想知道,怎样在加载页面的时候,下拉框里的值就是登录人所对应的仓库,而不是 --请选择---, 如张三登录,那么下拉框直接就是 仓库A,而不是 ---请选择----
    希望 ,我这次是说明白啦
      

  7.   

    如果能够取得登录帐号的识别字段就可以。
    不了解connect by prior。
    就像5楼说的那样,option中加个<c:if test="${识别字段 == list.识别字段}"><c:out value = "selected" /></c:if>
    如果是不是循环打印的话,那么用js写onload事件。遍历每个option,相等的话就设置selected=true.
      

  8.   

    在后台查出张三所在的仓库并赋值
    在前台取出张三所在的仓库值 循环比较 如果相等将该option置为selected
      

  9.   


    <select name="testName" id="testId">
       <option value="0"/>--请选择--
       <c:foreach items="${list}" var="l" varStatus="index">
         <c:if test="${name eq '张三'}">
            <c:if test="${index==0}">
              <option value="${l.id}" selected="selected"/>${l.name}
            </c:if>
            <c:if test="${index!=0}"><!-- 如果以后张三管理2个或以上的仓库了,这个if就管用了 -->
              <option value="${l.id}"/>${l.name}
            </c:if>
         <c:/if>
         <c:if test="${name eq '王五'}">
            <option value="${l.id}"/>${l.name}
         <c:/if>
       </c:foreach>
    </select>
      

  10.   

    13楼的不错啊 
    <select name='yjsj'  onchange="change()" style="width:272px;" >
     <option  >请选择</option>
    <c:forEach items="${page.result}" var="document" varStatus="i">
                    <option  value="${i.name}" <c:if test="${i.uid = 当前登录者的id}">selected</c:if>>${i.name}</option>
    </c:forEach>
    </select>
      

  11.   

    既然都能实现不同账户登录后,下拉框只有该账户所属仓库,那你加个判断不得了,判断通过了就加selected