三级下拉框连动的数据库版!

<%
Option Explicit
'---------阿舜作品更新于2001.3.11-------------
'数据库结构和上次发表的同样
'三级下拉框连动
'
'数据库:
'location
'表1 loaction  所在地表
'   字段
'   loactionid  (主键)
'   loactionname 名字
'表2 district  所在的地区表
'   字段
'   locationid (主键)
'    districtid
'    districtname
'表3 village  所在的县区表
'   字段
'   districtid (主键)
'   villageid
'   villagename
%>
<html>
<head>
<title>List</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
dim conn
dim rs
dim sql
dim count
dim rs1
dim sql1
dim rs2
dim sql2
dim count2



set conn=server.createobject("adodb.connection")
conn.open"provider=sqloledb;data source=192.168.0.33;uid=sa;pwd=;database=location;"


sql = "select * from district order by locationid asc"
set rs = conn.execute(sql)
%>
<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
        <%
        count = 0
        do while not rs.eof
        %>
subcat[<%=count%>] = new Array("<%= trim(rs("districtname"))%>","<%= trim(rs("locationid"))%>","<%= trim(rs("districtid"))%>");
        <%
        count = count + 1
        rs.movenext
        loop
        rs.close
        set rs=nothing
        %>
onecount=<%=count%>;

function changelocation(locationid)
    {
    document.myform.smalllocation.length = 0;

    var locationid=locationid;
    var i;
    document.myform.smalllocation.options[0] = new Option('==所选城市的地区==','');
    for (i=0;i < onecount; i++)
        {
            if (subcat[i][1] == locationid)
            {
                document.myform.smalllocation.options[document.myform.smalllocation.length] = new Option(subcat[i][0], subcat[i][2]);
            }        
        }
        
    }    
</script>


<%sql2 = "select * from village order by districtid asc"
set rs2 = conn.execute(sql2)
%>
<script language = "JavaScript">
var onecount2;
onecount2=0;
subcat2 = new Array();
        <%
        count2 = 0
        do while not rs2.eof
        %>
subcat2[<%=count2%>] = new Array("<%= trim(rs2("villagename"))%>","<%= trim(rs2("districtid"))%>","<%= trim(rs2("villageid"))%>");
        <%
        count2 = count2 + 1
        rs2.movenext
        loop
        rs2.close
        set rs2=nothing
        %>
onecount2=<%=count2%>;

function changelocation2(villageid)
    {
    document.myform.village.length = 0;

    var villageid=villageid;
    var j;
    document.myform.village.options[0] = new Option('==所选地区的县区==','');
    for (j=0;j < onecount2; j++)
        {
            if (subcat2[j][1] == villageid)
            {
                document.myform.village.options[document.myform.village.length] = new Option(subcat2[j][0], subcat2[j][2]);
            }        
        }
        
    }    
</script>



</head>
<body>
<form name="myform" method="post">
    题目:<input type="text" name="T2" size="20"><br>
    来源:<input type="text" name="T3" size="20"><br>
    分类:<select name="biglocation" onChange="changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value)" size="1">
        <option selected>请选择你所在的省份</option>
        <%
        
        sql1 = "select * from location order by locationname asc"
        set rs1 = conn.Execute (sql1)
        do while not rs1.eof
        %>
        <option value="<%=trim(rs1("locationid"))%>"><%=trim(rs1("locationname"))%></option>
       
        <%
        rs1.movenext
        loop
        rs1.close
        set rs1 = nothing
        conn.Close
        set conn = nothing
        %>
       </select>
    
    <select name="smalllocation" onChange="changelocation2(document.myform.smalllocation.options[document.myform.smalllocation.selectedIndex].value)">                  
        <option selected value="">==所有地区==</option>
    </select>
        
    <select name="village" size="1">                 
        <option selected>==所有县区==</option>
    </select>
    <br>
    关键词:<input type="text" name="T4" size="20"><br>
    内容:<textarea rows="9" name="S1" cols="51"></textarea>
</form>

</body>
</html>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值