上一篇:HEAD元素使用集锦 >>
利用ASP嵌套JS+SQL Server打造两级连动下拉框(二)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>下拉列表示例</title>
</head>
<%
dim conn
dim connstr
on error resume next
set conn=server.CreateObject("ADODB.connection")
connstr="driver={SQL Server};server=wen;uid=sa;pwd=;database=DB_ProvinceCat"
conn.Open connstr
set Rs=server.createobject("ADODB.recordset")
Rs.CursorLocation = adUseClient
SQL="Select * from Tb_Province"
Rs.open SQL,conn,1,1
if Not Rs.Eof then
Dim strJScript
strJScript=""
Response.Write("<SCRIPT language=JavaScript>")&chr(13)
Response.Write("function setcategory(S){")&chr(13)
Response.Write("S.category.length="+Cstr(Rs.Recordcount+1)+";")&chr(13)
dim i
i=0
While Not Rs.Eof
strJScript=strJScript+"S.category.options["+CStr(i)+"].value="+chr(34)+Trim(Rs("ProvinceCode"))+chr(34)+";"+chr(13)
strJScript=strJScript+"S.category.options["+CStr(i)+"].text="+chr(34)+Trim(Rs("ProvinceName"))+chr(34)+";"+chr(13)
i=i+1
Rs.MoveNext
Wend
Response.write(strJScript)
Response.Write("S.category.options["+CStr(i)+"].value="+chr(34)+"无"+chr(34)+";"+chr(13))
Response.Write("S.category.options["+CStr(i)+"].text="+chr(34)+"**请选择省份**"+chr(34)+";"+chr(13))
Response.Write("S.category.options["+Cstr(i)+"].selected=true;"+chr(13))
Response.Write("}")&chr(13)
Rs.Close
Set Rs=Nothing
end if
set Rs=server.createobject("ADODB.recordset")
Rs.CursorLocation = adUseClient
SQL="Select Num=Count(*),Tb_Province.ProvinceCode From Tb_Province,Tb_City where Tb_Province.ProvinceCode=substring(Tb_City.CityCode,1,2) group by Tb_Province.ProvinceCode order by Tb_Province.ProvinceCode"
Rs.open SQL,conn,1,1
if Not Rs.Eof then
dim Num(30),j
j=0
Do While Not Rs.Eof
Num(j)=Rs("Num")
j=j+1
Rs.MoveNext
Loop
end if
Rs.Close
set Rs=Nothing
SQL=""
set Rs=server.createobject("ADODB.recordset")
Rs.CursorLocation = adUseClient
SQL="Select Tb_Province.*,Tb_City.* From Tb_Province,Tb_City where Tb_Province.ProvinceCode=substring(Tb_City.CityCode,1,2) order by Tb_Province.ProvinceCode"
Rs.open SQL,conn,1,1
j=0
if Not Rs.Eof then
Response.Write("function setsmall_cat(D){")&chr(13)
Response.Write("var valuecategory=D.category.options[D.category.selectedIndex].value;")&chr(13)
Response.write("if(valuecategory.indexOf("+chr(34)+"无"+chr(34)+")==0){"+chr(13)&_
"D.small_cat.length=1;"&_
"D.small_cat.options[0].value="+chr(34)+"无"+chr(34)+";"+chr(13)&_
"D.small_cat.options[0].text="+chr(34)+"**请选择城市**"+chr(34)+chr(13)&_
"D.small_cat.options[0].selected=true;"+chr(13)&_
"}")
i=0
dim NextLevel,UpCatCode,overflow
NextLevel="N"
overflow="N"
strJScript=""
Do While Not Rs.Eof
UpcateCode=Trim(Rs("ProvinceCode"))
if NextLevel="N" then
strJScript="else if(valuecategory.indexOf("+chr(34)+UpcateCode+chr(34)+")==0){"+chr(13)
strJScript=strJScript+"D.small_cat.length="+Cstr(Num(j))+";"+chr(13)
j=j+1
NextLevel="Y"
end if
strJScript=strJScript+"D.small_cat.options["+CStr(i)+"].value="+chr(34)+Trim(Rs("CityCode"))+chr(34)+";"+chr(13)
strJScript=strJScript+"D.small_cat.options["+CStr(i)+"].text="+chr(34)+Trim(Rs("CityName"))+chr(34)+";"+chr(13)
i=i+1
Rs.MoveNext
if UpcateCode<>Trim(Rs("ProvinceCode")) then
overflow="Y"
end if
if overflow="Y" then
Response.write(strJScript+"}")
strJScript=""
overflow="N"
NextLevel="N"
i=0
end if
Loop
Response.Write("}</Script>")&chr(13)
Rs.Close
Set Rs=Nothing
end if
Conn.close
set conn=nothing
%>
<body onload=setcategory(document.select);setsmall_cat(document.select)>
<Form name="select" method="POST" action="#">
<center>
<Table>
<TR> <td>请选择:</td>
<TD><SELECT onchange=setsmall_cat(document.select) name=category size="1" ></SELECT> <SELECT name=small_cat size="1" ></SELECT> </TD>
</TR>
</Table></center>
</Form>
</body>
</html>
第三,进行代码调试。
本程序在WIN2000+IIS+SQL Server7.0环境下调试通过。
(全文完)
相关文章:
- · ASP+JS时的
- · 利用JS在页面上动态生成直线
- · 对连串英文自动换行的解决方法 IE5.5
- · 打开页面就是全屏的方法
- · 网页过期的问题
- · 请看用javascript设置和读取cookie的简单例子
- · 一个非常精彩的日历程序
- · 一个提交form的小经验
- · 给浏览器的滚动条加上颜色
- · 如何在网页中存取剪贴板中的内容
- · 客户端Cookie中文编程(2)
- · 客户端Cookie中文编程(1)
- · 在javascript中为String对象添加trim,ltrim,rtrim方法
- · 一个使用多选框的小智力题,传教士与野人
- · 实现聊天室在线人员无刷新所需要的javascript技术 - 3
- · 实现聊天室在线人员无刷新所需要的javascript技术 - 2
- · 实现聊天室在线人员无刷新所需要的javascript技术 - 1
- · 动态增加\删除物件如(Text,Table)的例子
- · session的几个问题
- · 动态输入框的三个函数
- · 在ASP+中使用Cookie
- · Session对象在各浏览器中的有效范围
- · session的用法具体解说
- · ASP实现多语言支持
- · 关于web应用程序的范围与session变量丢失问题的深入研究!
- · 判断访问者的浏览器是否支持javascript和Cookies
- · 下拉框连动的小例子(.htm版)
- · 下拉框连动的小例子(数据库版)
- · 一个查看ASP的javascript程序,方便大家学习ASP程序,进来看看吧(JS)
- · Internet Explorer 错误代码
- · 判断访问者的浏览器是否支持javascript和Cookies
- · ASP实现多语言支持
- · 关于Global.asa文件的深入研究与session变量失效提示的具体方法
- · 关于在浏览器中执行*.exe文件的深入探讨
- · 获得客房端的MAC(Media Access Control)地址
- · 动态缓冲
- · 数据库聊天室的“无刷新”技术要点
- · 您的主页支持各种浏览设备(ASP+篇)(下)
