首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

2级联动下拉框 有关问题

2012-02-10 
2级联动下拉框 问题我的代码里选项都是死的我想把他们从数据库里读出该怎么写我的代码:%说明:假设父亲下

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> &nbsp; </p>
<p> &nbsp; </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里面也有讲的

热点排行
Bad Request.