| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 881 人关注过本帖
标题:下拉菜单的连动
只看楼主 加入收藏
labid
Rank: 1
等 级:新手上路
帖 子:151
专家分:0
注 册:2006-6-20
收藏
 问题点数:0 回复次数:4 
下拉菜单的连动
图片附件: 游客没有浏览图片的权限,请 登录注册

如,我想通过在数据库中去读取食用者的姓名,然后OnChange菜单的时候,用脚本去读取数据库读出对应的值让性别和出生年月进行联动~~~~!
哪位高手给我讲讲好吗?
OnChange
可以调用两个过程吗?
搜索更多相关主题的帖子: 数据库 菜单 连动 OnChange 性别 
2006-09-11 13:45
mwyvkevke
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-9-7
收藏
得分:0 
<html>
<head>
<title>js动态三级联动下拉表单试验</title><!--=======打开数据库======-->
<%
Set Conn = Server.CreateObject("ADODB.Connection")
StrCnn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb") & ";"
Conn.Open StrCnn
%>

</head>
<body>
<form name="myform" method="post">
<% set rs=server.CreateObject("adodb.recordset")
 sq="select * from 一级表"
 rs.open sq,conn,1,1
 %>
<select  name="class1"  onChange="changeclass2();changeclass3()">
<option value="" selected>选择一级目录</option>
<%
while not rs.eof
%>
<option value="<%=rs("一级类")%>"><%=rs("一级类")%></option>
<%rs.movenext
wend
rs.close%>
 </select>
<select  name="class2" onChange="changeclass3()">
<option value="" selected>选择二级目录</option>
</select>
<select  name="class3">
<option value="" selected>选择三级目录</option> </select>  
<%sql="select * from 二级表"
rs.open sql,conn,1,1
num=rs.recordcount
str=""
for i=1 to rs.recordcount
 str=str&rs("一级类")&"-"&rs("二级类")&","
 if rs.eof then
 exit for
   end if
 rs.movenext

 next
 rs.close
  %>
 <%
 sql="select * from 三级表"
 rs.open sql,conn,1,1
 num2=rs.recordcount
 str2=""
  for i=1 to rs.recordcount
  str2=str2&rs("二级类")&"-"&rs("三级类")&","
  if rs.eof then
  exit for
  end if
  rs.movenext
 
   next
   rs.close %> <!--下面是实现动态改变下一级菜单的脚本代码-->
   <script  LANGUAGE="javascript">
   arr="<%=str%>".split(",");
   a=arr.length
   ar=new Array()
   for (i=0;i<a;i++)
   { ar[i]=arr[i].split("-");
    }
    onecount=ar.length;
    arr2="<%=str2%>".split(",");
    a2=arr2.length
    ar2=new Array()
       for (i=0;i<a2;i++)
       {
       ar2[i]=arr2[i].split("-");
        }
        onecount2=ar2.length;
         function  changeclass2()
         { document.myform.class2.length=0
          lid=myform.class1.value;   
             for  (i=0;i<onecount;i++)
              {     
              if  (ar[i][0]  ==  lid) {
                document.myform.class2.options.add(new Option(ar[i][1],  ar[i][1]));     
                 }
                 }
                }   
                function  changeclass3()
                {
                document.myform.class3.length=0
                lid2=myform.class2.value;  
                      for  (i=0;i<onecount2;i++)
                       {     if  (ar2[i][0]  ==  lid2)
                        {   document.myform.class3.options.add(new Option(ar2[i][1],  ar2[i][1]));        }   
                         }  
                           }
                              </script>
                              </body>
                              </html>
2006-09-11 16:28
mwyvkevke
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-9-7
收藏
得分:0 
上面是三级联动菜单,其实和你说的基本类似,只是不同的是你在添加这个人的姓名和性别和出生日期的时候,要把姓名保存到一个表里。要把必别保存到一个表里,把出生日期也保存过去。之后用上面的代码调用。先现明白上面的。其实就是三张表,第一张里放ID name 第二张里放 name sex  第三张里放  sex  borndate,三个之前相关联。
2006-09-11 16:33
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
回复:(labid)下拉菜单的连动
以下是引用labid在2006-9-11 13:45:52的发言:

如,我想通过在数据库中去读取食用者的姓名,然后OnChange菜单的时候,用脚本去读取数据库读出对应的值让性别和出生年月进行联动~~~~!
哪位高手给我讲讲好吗?
OnChange
可以调用两个过程吗?

在ASP里个人只能是把数据都读到网页里进行联动,楼主如果说实时读取那个就是Ajax来实现的功能了。

2006-09-11 23:22
labid
Rank: 1
等 级:新手上路
帖 子:151
专家分:0
注 册:2006-6-20
收藏
得分:0 
啊,不是吧Ajax是什么东西,能解释一下吗?
我是菜鸟,谢谢,我不会啊`````````
2006-10-19 17:24
快速回复:下拉菜单的连动
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016138 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved