设置下拉框的默认值

hubujun 2010-10-03 06:41:20
如果我是计算机学院计算机专业2008级计科二班的一个学生 该如何在一个四级联动下拉框中得到默认值,四个下拉框分别是学院、专业、年级、班级。下面是jsp代码,接收从action里返回来的四个list
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'schoolinfo.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>
<style type="text/css">
a {
text-decoration: none;
color: #000000;
font-size: 14px;
}

a:hover {
text-decoration: none;
color: #ff0000;
font-size: 14px
}
</style>
<style>
a:link {
color: #2828FF
} /* 未被访问的链接 */
a:visited {
color: #2828FF
} /* 已被访问的链接 */
a:hover {
color: #8600FF
} /* 当有鼠标悬停在链接上 */
a:active {
color: #8600FF
} /* 被选择的链接 */
</style>
<body>
<br />
<br />
<center>

<table width="60%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>
<center>
<a href=""> 我的头像</a>
</center>
</td>
<td>
<center>
<a href="findStudentById_user.action?id=${id}&username=${username}">个人资料</a>
</center>
</td>
<td>
<center>
<a href="findStudentById_school.action?id=${id}&username=${username}">学校信息</a>
</center>
</td>
<td>
<center>
<a href="">比赛报名</a>
</center>
</td>
<td>
<center>
<a href="findUserById?id=${id}&username=${username}">修改密码</a>
</center>
</td>
</tr>
</table>
</center>
<br />
<br>

<center>
<table width="60%">
<tr>
<td>
<b><big>学校信息</big> </b>
</td>
</tr>
</table>
</center>

<hr width="60%" border="1">
<center>

<form action="updateStudent_school" method="post">
<table>
<tr>
<td>
所在学院:
</td>
<td>
<select name="grade.world.department.academy.acaId">
<c:forEach items="${grade}" var="grade">
<option value="${grade.world.department.academy.acaId }">
${grade.world.department.academy.acaName}
</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
所在专业:
</td>
<td>
<select name="grade.world.department.depId">
<c:forEach items="${grade}" var="grade">
<option value="${grade.world.department.depId }">
${grade.world.department.depName}
</option>
</c:forEach>
</select>
</td>
</tr>

<tr>
<td>
所在年级:
</td>
<td>
<select name="grade.world.worId">
<c:forEach items="${grade}" var="grade">
<option value="${grade.world.worId }">
${grade.world.worName}
</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
所在班级:
</td>
<td>
<select name="grade.graId">
<c:forEach items="${grade}" var="grade">
<option value="${grade.graId }">
${grade.graName}
</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
<s:submit value="添加人生格言"></s:submit>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>

我打算在action里面查处该学生的学院专业年级班级信息,然后传到该jsp页面,但不知道具体如何做,请高手指教,联动的代码没有贴出来
...全文
1378 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
json_hui 2010-10-06
  • 打赏
  • 举报
回复
在foreach标签中用一个if标签来控制你要默认的选项
licip 2010-10-05
  • 打赏
  • 举报
回复
顶。这样就行[Quote=引用 6 楼 hubujun 的回复:]
我想这么去获取 但是得不到要显示的值

Java code
<select name="student.grade.world.department.academy.acaId"
onchange="change(this.value);">
<%Str……
[/Quote]
hubujun 2010-10-05
  • 打赏
  • 举报
回复
自己顶
forever_ai 2010-10-05
  • 打赏
  • 举报
回复
用ajax的框架
DWR
微笑俱乐部 2010-10-04
  • 打赏
  • 举报
回复
联动菜单还是用Ajax实现的好,方便、简单
kebin0001 2010-10-04
  • 打赏
  • 举报
回复
連動下拉選單用AJAX。
選項預設值,要選定的option加selected屬性
如<option value="" selected>
漂亮的石头 2010-10-04
  • 打赏
  • 举报
回复
联动下拉框中 都以异步的, ajax就可以实现啊, 异步读取文件或这调用action, 你可以看看ajax方面的东西, 例子很多, 找个修改下就能用
hubujun 2010-10-04
  • 打赏
  • 举报
回复
顶 请高手指教
hubujun 2010-10-04
  • 打赏
  • 举报
回复
貌似也不行
kebin0001 2010-10-04
  • 打赏
  • 举报
回复
<option value="${grade.graId }" <%="${academy.acaId }".equals(m)?"selected":""%>>

用script的方法則是
先宣告值
<%String m = String.valueOf(request.getAttribute("acaId")); %>
var act='<%=m%>';
這樣就能將server端接收的資料傳到client端。
然後body的onload事件,做選項判斷。
hubujun 2010-10-04
  • 打赏
  • 举报
回复
知道怎么弄了 现在有个问题就是怎么在script里面获取action传过来的学院专业年级班级编号,我不会接收
强长黑粗硬 2010-10-04
  • 打赏
  • 举报
回复
我是在画面上加hidden,保存应改选中的值,然后onload的时候重新设置二级以后的listbox,然后再给他赋值的。


用了ajax,然后算法自己写的,但是感觉写得挺麻烦,不过后来看看好用,也就懒得改了
hubujun 2010-10-04
  • 打赏
  • 举报
回复
大家帮帮我
强长黑粗硬 2010-10-04
  • 打赏
  • 举报
回复
我是通过JS来做的,只是画面表示好之后,listbox的值会动一下。
hubujun 2010-10-04
  • 打赏
  • 举报
回复
我想这么去获取 但是得不到要显示的值
	<select name="student.grade.world.department.academy.acaId"
onchange="change(this.value);">
<%String m = String.valueOf(request.getAttribute("acaId")); %>
<%System.out.println("m="+m); %>
<c:forEach items="${academy}" var="academy">
<option value<%="${academy.acaId }".equals(m)?"selected":""%>>
${academy.acaName}
</option>
</c:forEach>
</select>
m就是这个学生的学院编号
hubujun 2010-10-03
  • 打赏
  • 举报
回复
我是新手 还请讲详细点-.-
zuomingyu2 2010-10-03
  • 打赏
  • 举报
回复
做个异步 然后使用JS来实现不好吗?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧