在一个页面中如何将两个下拉框的内容联系起来?在线给分

cntoon 2002-09-29 07:17:45
在一个页面中如何将两个下拉框的内容联系起来?一个下拉框的内容改变时,另一个下拉框也随之改变内容。
还有,怎样可以使javascript和jsp的自定义函数可以互相调用?
...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
悠悠的爸爸 2002-10-09
  • 打赏
  • 举报
回复
我考虑过一次读出数据的话,就不用刷新页面。但如果第二个下拉框的数据太多的话,一次查询出来速度很慢,考虑到负载的平衡,我才采用这种方法。如果数据量少的话,可以一次全部查询出来。
cntoon 2002-10-01
  • 打赏
  • 举报
回复
我就是想要从数据库中取数据啊。
Tmsheng(小唐蔡) 的方法是不是每次选择都要更新页面了?如果是这样的话好像不大好。
lilysunny13(百合花) 能不能给我从数据库读的例子啊。
谢谢两位。
lilysunny13 2002-09-30
  • 打赏
  • 举报
回复
用二维数组的时候必须是关联的内容不是从数据库中读出来的!
如果是固定内容不是从数据库读出来的有一下一个好例子:
<!-- 本页网页特效使用《网页酷》编辑制作!-->
<!-- 软件下载地:Zlinsoft工作室--><!-- 网址:http://www.zlinsoft.com-->
<!-- 软件作者:赵琳(ZZ)--><!-- Email:software@zlinsoft.com-->
<form name="doublecombo">

<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option>应用技术开发网站</option>
<option>国内JavaScript技术网站</option>
<option>国外的著名搜索引擎</option>
</select>
<select name="stage2" size="1">
<option value="http://www.zlinsoft.com">网页特效</option>
</select>
<input type="button" name="test" value="Go!"
onClick="go()">
</p>
<script>
<!--
var groups=document.doublecombo.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("网页特效","http://www.zlinsoft")


group[1][0]=new Option("万旭JavaScript仓库","http://www.wanxu.com")
group[1][1]=new Option("JavaScript2000","http://www.javascript2000.com")
group[1][2]=new Option("无忧脚本","http://www.51js.com")

group[2][0]=new Option("Hotbot","http://www.hotbot.com")
group[2][1]=new Option("Infoseek","http://www.infoseek.com")
group[2][2]=new Option("Excite","http://www.excite.com")
group[2][3]=new Option("Lycos","http://www.lycos.com")
var temp=document.doublecombo.stage2
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(){
location=temp.options[temp.selectedIndex].value
}
//-->
</script>
</form>
很好用哦!
如果你是从数据库读的问题就多一些,如果你以上不够用你就给我发消息我来给你从数据库读的例子!
方托马斯 2002-09-29
  • 打赏
  • 举报
回复
楼上的兄弟的方法可以,但是是结合在jsp里的。
也说一下思路吧
主要是应用 onChange() 方法,创建一个二维数组,第一维是第一个下拉框
中 option
悠悠的爸爸 2002-09-29
  • 打赏
  • 举报
回复
我做过类似于这样的东西,估计就是你想要的。直接给你代码会让你糊涂,告诉你一下思路吧。

我的两个下拉框中的数据都是数据库中查出来的:要求是:当第一个下拉框中的数据改变时,第二个框要显示相应的数据。比如:第一个框显示单位类型,第二个框显示选定类型下的单位。

实现是这样的:
String unitType = request.getParametere("unitType");
if(unitType == null)
{
unitType = ...//此处查询数据库,取第一条
}

单位类型下拉框
<select name="unitType" onChange="selectForm.action='test.jsp'; selectForm.submit(); return false;">
<%
String sql = "select unitType, TypeName from unitType";
...开始取值
String tempType = "";
String tempTypeName = "";
while(rs.next())
{
tempType = rs.getString("unitType");
tempTypeName = rs.getString("TypeName");
if(tempType.equals(unitType))
{
%>
<option value="<%=tempType%>" selected><%=tempTypeName%></option>
<%
}
else
{
%>
<option value="<%=tempType%>"><%=tempTypeName%></option>
<%

}
}
%>
</select>

//单位名称下拉框:
<%
sql = "select unitID, unitName from unitInfo where unitType='" + unitType + "'";
...//开始取值,显示方法同上,没有对是否selected的判断
%>

81,114

社区成员

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

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