怎样动态改变select的值

michaelfai 2008-02-11 03:57:53
有两个select:
选择年级<select name="grade" onchange="changeClass">
<option value="grade1">grade1</option>
<option value="grade2">grade2</option>
<option value="grade3">grade3</option>
<option value="grade4">grade4</option>
</select>

选择班级<select name="clazz">
</select>

想达到的目的是:
当第一个select的年级改变时,
第二个select下拉列表改变成第一个select的年级所对应的班级

应该怎样实现????

我是这样想的:
<script type="text/javascript">
<!--
function changeClass()
{
var grd = this.value;//保存select grade的值

<% List list = new ArrayList();
//调用函数返回某年级所有的班级
list = Clazz.listAllClass(/*这里的参数数值应该是select grade的值*/);//但不知道javascript变量grd怎样赋给java变量!!!

int i, n = list.size();
for(i=0;i<n;i++)
{%>
clazz.option[i].value=<%=list.get(i)%>
<%}%>
}
//-->

高手指点!
...全文
181 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhongxing1908901 2008-02-12
  • 打赏
  • 举报
回复
你犯了一个概念错误:
jsp是个服务器端的东东。他工作的结果是个HTML。而你的需求是在这个HTML到达客户端后,根据用户的动作改变select的options.那时候,jsp已经管不了啦。
1楼的建议是对的。
还有个办法是一次将所有的班级传到页面,由js控制options.本方案适用于数据两不大的情况,优点是减少了服务器交互。用户体验和服务器负荷都好一点。
祝你顺利。
thankgb 2008-02-11
  • 打赏
  • 举报
回复
感觉你的想法不对,总的来说你的问题是联动下拉列表如何实现的问题
你可以用ajax去实现,每次年级变化时,用ajax去服务器重新查询下该年级所对应的班级
然后用JAVASCRIPT把班级的下拉列表改变

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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