这个问题大家一般都是怎样处理的? 下拉框里存放的是是仓库名称,如果是本仓库的账号登陆,下拉框只有本部门仓库一个选项,如果是上级部门账号登陆,那么下拉框是其下所有仓库名称。 我的问题是,如何实现,当时本仓库的账号登陆时,页面初始化时,下拉框中直接就是其所在仓库,当上级部门账号登陆时,下拉框内是默认的 ----请选择------ 的样子想问问各位前辈,这个问题是如何解决的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据登陆进来的账号去数据库查询该账号下能选择的仓库---返回一个仓库的list。。把这个list放在select里面迭代出来其中option的value写仓库的id。。中间写仓库的name 我不是这个意思啊下拉框里的值我用connect by prior树查询已经解决了。我的意思是,比如张三是A1仓库管理员,那么他登陆后,那个下拉框只有A1一个值(这个已经解决),并且A1仓库已选中(这是我要问的问题)。当王五(所有仓库的管理员)登录时,进入页面,下拉框中默认没有选中的值,只是我们放的一个 --请选择--这下,估计表达清楚了。呵呵 <select name="testName" id="testId"> <option value="0"/>--请选择-- <c:foreach item="${list}" var="l"> <option value="${l.id}"/>${l.name} </c:foreach></select> 你表达明白了,只是你没明白楼上诸位的意思。是让你根据登录帐户的不同查询出不同的List传到jsp,也就是在查询语句上加上登录帐号的关联。 这个肯定要根据登录人的身份去获取下拉框的列表,上级和下级应该有一定的关系。自己和自己1:1上级和夏季1:n登录的时候获取一下不同的list就完了。 我要疯啦。。比如说,张三、王五 两个账号,张三是A仓库的管理员,王五为所有仓库A、B、C……的管理员当 张三 登录的时候,下拉框里就只有 A 一个仓库;当 王五 登录的时候,下拉框里就有A、B、C……所有的仓库;这个我用connect by prior树查询,能够解决不同级别登录账号的问题。如果还要根据不同的登录人再去查询个list,这不是多此一举吗?现在我要问的是:登陆后,下拉框的值首先是 ---请选择--- ,然后是选项:仓库A(权限大的话,有多个仓库选项)我想知道,怎样在加载页面的时候,下拉框里的值就是登录人所对应的仓库,而不是 --请选择---, 如张三登录,那么下拉框直接就是 仓库A,而不是 ---请选择----希望 ,我这次是说明白啦 如果能够取得登录帐号的识别字段就可以。不了解connect by prior。就像5楼说的那样,option中加个<c:if test="${识别字段 == list.识别字段}"><c:out value = "selected" /></c:if>如果是不是循环打印的话,那么用js写onload事件。遍历每个option,相等的话就设置selected=true. 在后台查出张三所在的仓库并赋值在前台取出张三所在的仓库值 循环比较 如果相等将该option置为selected <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> 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> 既然都能实现不同账户登录后,下拉框只有该账户所属仓库,那你加个判断不得了,判断通过了就加selected servlet 包配置问题 请教个sso 跳转页面问题 JSP页面传参问题还没想清楚 java 项目经理 or 架构 求职 这个内存溢出咋办 jxl能否在excel中生成下拉框? 一个struts自定义标签问题,请高手帮忙 一个IT进军者的酸甜苦辣! 请教:怎样将UCS2编码转换成GB2312? spring boot打成war包后,ajax访问控制器404。求助! 等一个正则表达式 JavaEE对日开发使用什么?
这下,估计表达清楚了。呵呵
<select name="testName" id="testId">
<option value="0"/>--请选择--
<c:foreach item="${list}" var="l">
<option value="${l.id}"/>${l.name}
</c:foreach>
</select>
是让你根据登录帐户的不同查询出不同的List传到jsp,也就是在查询语句上加上登录帐号的关联。
上级和夏季1:n登录的时候获取一下不同的list就完了。
当 王五 登录的时候,下拉框里就有A、B、C……所有的仓库;这个我用connect by prior树查询,能够解决不同级别登录账号的问题。如果还要根据不同的登录人再去查询个list,这不是多此一举吗?
现在我要问的是:登陆后,下拉框的值首先是 ---请选择--- ,然后是选项:仓库A(权限大的话,有多个仓库选项)我想知道,怎样在加载页面的时候,下拉框里的值就是登录人所对应的仓库,而不是 --请选择---, 如张三登录,那么下拉框直接就是 仓库A,而不是 ---请选择----
希望 ,我这次是说明白啦
不了解connect by prior。
就像5楼说的那样,option中加个<c:if test="${识别字段 == list.识别字段}"><c:out value = "selected" /></c:if>
如果是不是循环打印的话,那么用js写onload事件。遍历每个option,相等的话就设置selected=true.
在前台取出张三所在的仓库值 循环比较 如果相等将该option置为selected
<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>
<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>