2级联动下拉框 问题
我的代码里选项都是死的
我想把他们从数据库里读出
该怎么写
我的代码:
<%
'说明:
'假设父亲下拉框(省份)的值为:河北省 山西省 山东省;儿子下拉框(城市)的值为:石家庄 保定 邯郸 阳泉 太原 德州 济南 济宁
'河北省对应石家庄 保定 邯郸
'山西省对应阳泉 太原
'山东省对应德州 济南 济宁
%>
<%
'把父亲的值列表和儿子的值列表赋给数组(代替数据库表,道理一样)
dim arr_shengfen(3),arr_chengshi(8)
arr_shengfen(0)= "河北省 "
arr_shengfen(1)= "山西省 "
arr_shengfen(2)= "山东省 "
arr_chengshi(0)= "石家庄 "
arr_chengshi(1)= "保定 "
arr_chengshi(2)= "邯郸 "
arr_chengshi(3)= "阳泉 "
arr_chengshi(4)= "太原 "
arr_chengshi(5)= "德州 "
arr_chengshi(6)= "济南 "
arr_chengshi(7)= "济宁 "
'判断有没有提交过来的省份,如果没有,则默认省份为河北省
if request( "shengfen ")= " " then
shengfen= "河北省 "
else
shengfen=request( "shengfen ")
end if
response.write " <form name=form1 method=post action=guanlian.asp> "
'给shengfen下拉框赋值,并让它选中提交过来的省份
response.write " <select name=shengfen onchange=tijiao();> " '注意select下拉框的onchange事件,它在下拉框的被选中的值发生变化时触发,触发后执行javascript函数tijiao()
for i=0 to ubound(arr_shengfen)-1
if (shengfen=arr_shengfen(i)) then
response.write " <option value= "&arr_shengfen(i)& " selected> "&arr_shengfen(i) '如果是传来的省份的值,则选中
else
response.write " <option value= "&arr_shengfen(i)& "> "&arr_shengfen(i) '如果不是传来的省份的值,则不选中
end if
next
response.write " </select> "
'根据shengfen下拉框选中的值,给chengshi下拉框赋相对应的值
if (shengfen= "河北省 ") then
i=0
j=2
elseif (shengfen= "山西省 ") then
i=3
j=4
else
i=5
j=7
end if
response.write " <select name=chengshi> "
for m=i to j
response.write " <option value= "&arr_chengshi(m)& "> "&arr_chengshi(m)
next
response.write " </select> "
response.write " </form> "
%>
<script language=javascript>
//该函数实现form1表单提交。
//也就是省份下拉框选中的值一发生变化,就提交form到服务器端asp执行,asp根据目前的省份选中的值--request( "shengfen "),重新给城市下拉框赋值
function tijiao()
{
document.all.form1.submit();
}
</script>
[解决办法]
<%@LANGUAGE= "VBSCRIPT " CODEPAGE= "936 "%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>
</head>
<% '连接sql数据库
dim conn
set conn= server.CreateObject( "adodb.connection ")
conn.connectionstring= "provider=sqloledb;server=(local);database=xyda_db;uid=sa;pwd=; "
conn.open
%>
<script language= "javascript ">
function chiose(id)
{
var startpos,endpos
startpos=form1.datasource.value.indexOf(id+ "( ")+(id+ "( ").length
endpos=form1.datasource.value.indexOf( ":) ",startpos)
var jobs=form1.datasource.value.substring(startpos,endpos).split( ": ")
while (form1.job.options.length> 0)
form1.job.options.remove(0)
for (var i=0;i <jobs.length;i++)
{var opt=document.createElement( "option ")
opt.text=jobs[i].split( ", ")[0]
opt.value=jobs[i].split( ", ")[1]
form1.job.options.add(opt)
}
}
</script>
<body onload= "chiose(1) ">
<p> </p>
<p> </p>
<form id= "form1 " name= "form1 " method= "post " action= " ">
<label>
省份:
<select name= "tp " onchange= "chiose(this.value) ">
<% set rs=conn.execute( "select * from aa ")
do while not rs.eof%>
<option value= " <%=rs( "id ")%> "> <%= rs( "provance ") %> </option>
<% rs.movenext
loop
rs.close()%>
</select>
</label>
城市:
<label>
<select name= "job ">
</select>
<% set rs=conn.execute( "select * from aa ")
%>
<input type= "hidden " name= "datasource " value= "
<%do while not rs.eof
aa=rs( "id ")%>
<%=aa %>
<%= "( " %>
<%set rss=conn.execute( "select * from bb where pro_id= "&aa)
do while not rss.eof%>
<%=rss( "city ")%> <%= ", "%> <%=rss( "pro_id ")%> <%= ": "%>
<% rss.movenext
loop%>
<%= ") " %>
<%rs.movenext
loop%> ">
</label>
<label> </label>
</form>
</body>
</html>
[解决办法]
http://user.qzone.qq.com/121329089里边有你想要的代码
[解决办法]
网上去找找,很多这种代码
[解决办法]
<script language = "JavaScript ">
var onecount;
subcat = new Array();
<%
count = 0
do while not rs.eof
%>
subcat[ <%=count%> ] = new Array( " <%= trim(rs( "smallClass "))%> <% if rs( "type ")=true then response.write( "[主] ") end if %> ", " <%= trim(rs( "bigClass "))%> ", " <%= trim(rs( "smallClass "))%> <% if rs( "type ")=true then response.write( "[主] ") end if %> ");
<%
count = count + 1
rs.movenext
loop
rs.close
%>
onecount= <%=count%> ;
function changelocation(locationid)
{
document.form1.f_smallClass.length = 1;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.form1.f_smallClass.options[document.form1.f_smallClass.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
[解决办法]
<select name= "f_bigClass " id= "f_bigClass " onChange= "changelocation(document.form1.f_bigClass.options[document.form1.f_bigClass.selectedIndex].value) ">
<%
do while not rs.eof
%>
<option <% if rs( "BigClass ")=rs2( "file_bigClass ") then response.Write( "selected ") end if%> value= " <%=trim(rs( "BigClass "))%> "> <%=trim(rs( "BigClass "))%> </option>
<%
rs.movenext
loop
rs.close
%>
</select>
[解决办法]
二级联动嘛,搜一下,另外blog里面也有很多讲的
[解决办法]
二级联动啊,搜一下,blog里面也有讲的