【 tulaoshi.com - ASP 】
                             
                               '三级下拉框连动
'
'数据库:
'location
'表1 loaction  所在地表
'   字段
'   loactionid
'   loactionname 名字
'表2 district  所在的地区表
'   字段
'   locationid 
'    districtid
'    districtname
'表3 village  所在的县区表
'   字段
'   districtid 
'   villageid
'   villagename
<%Option Explicit% 
<html 
<head 
<titleList</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"
来源:<input type="text" name="T3" size="20"
分类:<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