|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
index.asp 程序代码: <html> <head> <title></title> <meta content="text/html; charset=gb2312" http-equiv="content-type"> <style type="text/css"><!-- FONT{font-size:12px} TD{font-size:12px} A{color:#333399} A:hover{color:#FF6600} --></style> <script language="JavaScript" type="text/JavaScript"><!-- function funOnload(){ document.all.list_file.src="jscript_city.asp?base=0&sele=0-&elem=Select01"; } //pBase级数,以0基, //pSele是<option 的value值 //pEle是下一级的表单名字 function chgSelect(pBase,pSele,pElem){ //当改变了一个列表之后。清除以后的列表的值。 for(i=parseInt(pElem.replace("Select",""));i<=5;i++){ var tmp="000"+i; var pElem1=eval("document.Form1.Select"+tmp.substr(tmp.length-2)); pElem1.length=1; pElem1.selectedIndex=0; } //JS用ASP得到数据库的数据来更新下级列表 document.all.list_file.src="jscript_city.asp?base="+pBase+"&sele="+pSele+"&elem="+pElem; } //--></script> <script id="list_file" language="JavaScript" type="text/JavaScript" src=""></script> </head> <body bgcolor="#FFFFFF" leftmargin="0" topmargin="2" text="#333333" onload="funOnload();"> <form name="Form1"> <select name="Select01" onchange="chgSelect(1,this.options[this.selectedIndex].value,\\\'Select02\\\')"> <option value="">省...</option> </select> <select name="Select02" onchange="chgSelect(2,this.options[this.selectedIndex].value,\\\'Select03\\\')"> <option value="">市...</option> </select> <select name="Select03" onchange="chgSelect(3,this.options[this.selectedIndex].value,\\\'Select04\\\')"> <option value="">县...</option> </select> <select name="Select04" onchange="chgSelect(4,this.options[this.selectedIndex].value,\\\'Select05\\\')"> <option value="">乡...</option> </select> <select name="Select05"> <option value="">村...</option> </select> </form> </body></html> \\\'jscript_city.asp 程序代码: <% \\\' varBase 下拉菜单等级 \\\' varSele 所选择下拉菜单项的数据库ID \\\' varElem 下一级的表单名称 varBase=Request.QueryString("base") varSele=Left(Request.QueryString("sele"),InStr(Request.QueryString("sele"),"-")-1) varElem=Request.QueryString("elem") varDistName="" varAutoID="" Set conDB=Server.CreateObject("ADODB.CONNECTION") conDB.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("db1.mdb") sqlCommand="select * from table1 where filed1="&varBase&" and filed2="&varSele Set rsRecord=conDB.Execute(sqlCommand) While Not rsRecord.eof varDistName=varDistName&chr(34)&rsRecord("filed3")&chr(34) varAutoID=varAutoID&chr(34)&rsRecord("id")&chr(34) rsRecord.movenext If Not rsRecord.Eof Then varDistName=varDistName&"," varAutoID=varAutoID&"," End If Wend Response.Write("var varDistName=new Array("&varDistName&")"&vbcrlf) Response.Write("var varAutoID=new Array("&varAutoID&")"&vbcrlf) Response.Write("var varElem=eval("&chr(34)&"document.Form1."&varElem&chr(34)&")"&vbcrlf) Response.Write("varElem.length=varDistName.length+1;"&vbcrlf) Response.Write("for(var i=0;i<varDistName.length;i++){"&vbcrlf) Response.Write(" varElem.options[i+1].text=varDistName;"&vbcrlf) Response.Write(" varElem.options[i+1].value=varAutoID+\\\'-\\\'+varDistName;"&vbcrlf) Response.Write("}"&vbcrlf) Response.Write("varElem.selectedIndex=0;"&vbcrlf) %> db1.mdb \\\'------------------------------------------------- 福建 厦门 思明 黄厝 曾厝桉村 福建 泉州 丰泽 西湖 水头村 如上面的五级转成数据库为: \\\'------------------------------- id filed1 filed2 filed3 1 0 0 福建 2 1 1 厦门 3 1 1 泉州 4 2 2 思明 5 3 4 黄厝 6 4 5 曾厝桉村 7 2 3 丰泽 8 3 7 西湖 9 4 8 水头村 \\\'------------------------------------------------- 数据库说明: id 自动编号 filed1 下拉菜单列表的等级(看级数。可以设置它的精度。是数字类型) filed2 上一级的id号(用长整型吧) filed3 这个就不用说了吧(文件。长度自己看情况) 本程序在IIS4+WIN2000P+ACCESS2000下通过。 返回类别: 教程 上一教程: ASP编写完整的一个IP所在地搜索类 下一教程: 利用ASP打造网站论坛DIY 您可以阅读与"关于SELECT的无限级联(省|市|县|乡|村|...)"相关的教程: · ASP+ACCESS实现的无限级目录树 · 关于用ADO STREAM做的无组件上传程序简朴介绍 · 关于如何动态地在同一页面实现两个SELECT互传 · 两级联动的select XML版 · 关于0X80040E14错误 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |