如果我是计算机学院计算机专业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}&amp;username=${username}">个人资料</a>
</center>
</td>
<td>
<center>
<a href="findStudentById_school.action?id=${id}&amp;username=${username}">学校信息</a>
</center>
</td>
<td>
<center>
<a href="">比赛报名</a>
</center>
</td>
<td>
<center>
<a href="findUserById?id=${id}&amp;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页面,但不知道具体如何做,请高手指教,联动的代码没有贴出来

解决方案 »

  1.   

    联动下拉框中  都以异步的, ajax就可以实现啊, 异步读取文件或这调用action, 你可以看看ajax方面的东西, 例子很多, 找个修改下就能用
      

  2.   

    連動下拉選單用AJAX。
    選項預設值,要選定的option加selected屬性 
    如<option value="" selected>
      

  3.   

    我想这么去获取  但是得不到要显示的值 <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就是这个学生的学院编号
      

  4.   

    我是通过JS来做的,只是画面表示好之后,listbox的值会动一下。
      

  5.   

    我是在画面上加hidden,保存应改选中的值,然后onload的时候重新设置二级以后的listbox,然后再给他赋值的。
    用了ajax,然后算法自己写的,但是感觉写得挺麻烦,不过后来看看好用,也就懒得改了
      

  6.   

    知道怎么弄了  现在有个问题就是怎么在script里面获取action传过来的学院专业年级班级编号,我不会接收
      

  7.   

    <option value="${grade.graId }" <%="${academy.acaId }".equals(m)?"selected":""%>>用script的方法則是
    先宣告值
    <%String m = String.valueOf(request.getAttribute("acaId")); %>
    var act='<%=m%>';
    這樣就能將server端接收的資料傳到client端。
    然後body的onload事件,做選項判斷。
      

  8.   

    联动菜单还是用Ajax实现的好,方便、简单
      

  9.   

    用ajax的框架
      DWR
      

  10.   

    在foreach标签中用一个if标签来控制你要默认的选项