posts - 23, comments - 6, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

二级联动Jsp+javascript

Posted on 2006-10-17 09:44 小傻 阅读(1108) 评论(1)  编辑  收藏 所属分类: jsp

<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
 备注: 搞清出javascript如何实现很重要


评论

# re: 二级联动Jsp+javascript  回复  更多评论   

2008-09-29 22:56 by dora
这个很强,偶找了那么多,还是这个简单

只有注册用户登录后才能发表评论。


网站导航: