一个动态下拉框的问题 在线等 送所有分

qqqqqwwqqq 2008-04-28 11:44:34
<select name="BigClassName" onChange="changelocation(this.value)" size="1">
<option selected value="">所有大类</option>
<option value="<%=RecordSetB.getString("assortmentname")%>"><%=RecordSetB.getString("assortmentname")%></option>"
</select>

<select name="SmallClassName">
<option selected value="">所有小类</option>
<span id="selContainer">
</select>

<script language = "JavaScript">
var onecount;
var subcat = new Array();
var str;
function changelocation(locationid)
{
var locationid=locationid;
<% while(RecordSetC.next()){
%>
subcat[3] = new Array("<%=RecordSetC.getString("b")%>","<%=RecordSetC.getString("a")%>","<%=RecordSetC.getString("b")%>");
if(locationid == subcat[0][1])
str+="<option value='"+<%=RecordSetC.getString("b")%>+"'>"+<%=RecordSetC.getString("b")%>+"</option>";
<%
}
%>
selContainer.innerHTML=str;
}
</script>


两个下拉框 我想实现的是 上面的选择一个 下边的随着相应改变 现在出现的网页错误是缺少对象 我看编译后的文件是第一行的红色函数那部分, 大家帮帮忙解决一下 我万分感谢
...全文
431 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
DiligencyMan 2008-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qqqqqwwqqq 的回复:]
还有一个错误 就是subcat[0][1]为空或者不是对象
[/Quote]

你先判断下,再取值!
qqqqqwwqqq 2008-04-28
  • 打赏
  • 举报
回复
还有一个错误 就是subcat[0][1]为空或者不是对象
qqqqqwwqqq 2008-04-28
  • 打赏
  • 举报
回复
取到值了 我用alert输出了
s_liangchao1s 2008-04-28
  • 打赏
  • 举报
回复
onChange="alert(this.value)"
看下this.value取到值了没?
qqqqqwwqqq 2008-04-28
  • 打赏
  • 举报
回复
好使了 谢谢楼上发代码的朋友 我的收获是 if (subcat[i][2] ==id) 传的变量最好是数字类型的,我传的是中文 好象是编码问题吧, 也希望大家引以为鉴.
qqqqqwwqqq 2008-04-28
  • 打赏
  • 举报
回复
晕 JSP
qqqqqwwqqq 2008-04-28
  • 打赏
  • 举报
回复
楼上的代码和我的差不多啊 是ASP吧 但是你的没问题 我的怎么就有问题呢
zyk220 2008-04-28
  • 打赏
  • 举报
回复

<script language="JavaScript">
var onecount;
onecount=0;
subcat =new Array(); // 建立数组
<%
int count;
String sql0="select * from class ";
ResultSet rs0=RegisterBean.executeQuery(sql0); //打开数据库,这里我用的是javabean链接JDBC的方法
count=0;
while(rs0.next())
{
%> 小类ID 小类名字 大类ID
subcat[<%=count%>] = new Array("<%=rs0.getString(1)%>","<%=rs0.getString(2)%>","<%=rs0.getString(3)%>"); //给数组赋值,其中rs0.getString(1)代表第1字段,这里不要搞错字段哦
<%
count=count+1;
}
rs0.close();
%>
onecount=<%=count%>;
function changelocation(id) //实现函数
{
document.myform.classid.length = 0;

var id=id;

var i;//如果i从1循环那么记录中第1行的信息就看不到了
for (i=0;i<onecount; i++) //从数组的第1行算起 查找id ,这里的id是你大类的id(下面有我的数组例子)
{
if (subcat[i][2] ==id) //第一次循环从第1行,第3列,那1列是大类ID
{
document.myform.classid.options[document.myform.classid.length] = new Option(subcat[i][1], subcat[i][0]); //导出数组,导出小类名称和小类ID
}
}

}
</script>

<form name="myform" method="post" action="#">
<select name="categoryid" style="font-size:14px; width:100px;" size="8" onChange="changelocation(document.myform.categoryid.options[document.myform.categoryid.selectedIndex].value);">
<%
String sql1="select * from category ";
ResultSet rs1=RegisterBean.executeQuery(sql1);
while(rs1.next())
{
%>
<option value="<%=rs1.getInt(1)%>"><%=rs1.getString(2)%></option>
<%
}
rs1.close();
%>
</select>
<select name="classid" style="font-size:14px;width:100px" size="8">
</select>
例子
0 1 2
chassid classname categoryid
小类ID 小类名字 大类ID

NGT_11 2008-04-28
  • 打赏
  • 举报
回复
等待中
SWind 2008-04-28
  • 打赏
  • 举报
回复
把最后的html发出来看看 比较容易调试
qqqqqwwqqq 2008-04-28
  • 打赏
  • 举报
回复
主要是缺少对象那个错误,我在网上看了很多也没有一个详细的答案

81,094

社区成员

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

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