Index.asp
رمز البرنامج:
<أتش تي أم أل>
<الرأس>
<العنوان></العنوان>
<meta content="text/html; charset=gb2312" http-equiv="content-type">
<style type="text/css"><!--
الخط {حجم الخط: 12 بكسل}
TD {حجم الخط: 12 بكسل}
أ{اللون:#333399}
ج:تحويم {اللون: #FF6600}
--></style>
<script language="JavaScript" type="text/JavaScript"><!--
وظيفة funOnload(){
document.all.list_file.src="jscript_city.asp?base=0&sele=0-&elem=Select01";
}
// سلسلة pBase، بناءً على 0،
//pSele هي قيمة <option
//pEle هو اسم نموذج المستوى التالي
وظيفة chgSelect(pBase,pSele,pElem){
// بعد تغيير القائمة. مسح قيم القائمة المستقبلية.
for(i=parseInt(pElem.replace("Select"،"));i<=5;i++){
فار 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 ()؛">
<اسم النموذج = "Form1">
<select name="Select01" onchange="chgSelect(1,this.options[this.selectedIndex].value,'Select02')">
<option value="">حفظ...</option>
</حدد>
<select name="Select02" onchange="chgSelect(2,this.options[this.selectedIndex].value,'Select03')">
<option value="">المدينة...</option>
</حدد>
<select name="Select03" onchange="chgSelect(3,this.options[this.selectedIndex].value,'Select04')">
<option value="">المقاطعة...</option>
</حدد>
<select name="Select04" onchange="chgSelect(4,this.options[this.selectedIndex].value,'Select05')">
<option value="">البلد...</option>
</حدد>
<اختر الاسم = "اختر 05">
<option value="">القرية...</option>
</حدد>
</النموذج>
</body></html>
'jscript_city.asp
رمز البرنامج:
<%
مستوى القائمة المنسدلة varBase
معرف قاعدة بيانات varSele لعنصر القائمة المنسدلة المحدد
' varElem اسم نموذج المستوى التالي
varBase=Request.QueryString("base")
varSele=Left(Request.QueryString("sele"),InStr(Request.QueryString("sele"),"-")-1)
varElem=Request.QueryString("elem")
varDistName=""
varAutoID = ""
تعيين conDB=Server.CreateObject("ADODB.CONNECTION")
conDB.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("db1.mdb")
sqlCommand="select * from table1 حيث filesed1="&varBase&" وfiled2="&varSele
تعيين rsRecord=conDB.Execute(sqlCommand)
بينما لا يكون rsRecord.eof
varDistName=varDistName&chr(34)&rsRecord("filed3")&chr(34)
varAutoID=varAutoID&chr(34)&rsRecord("id")&chr(34)
rsRecord.movenext
إذا لم يكن rsRecord.Eof ثم
varDistName=varDistName&"،
varAutoID=varAutoID&"،
نهاية إذا
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
'------------------------------------------------
قرية Huangcuo Zengcuoyu، Siming، Xiamen، Fujian، Shuitou Village، Xihu، Fengze، Quanzhou، Fujian
قاعدة بيانات التحويل ذات المستويات الخمسة المذكورة أعلاه هي:
'---------------------------------
تم تقديم المعرف 1 تم تقديمه 2 تم تقديمه 3
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 قرية شويتو
'------------------------------------------------
وصف قاعدة البيانات:
معرف الترقيم التلقائي
Filed1 مستوى القائمة المنسدلة (راجع المستوى. يمكنك ضبط دقته. إنه نوع رقمي)
Filed2 رقم معرف المستوى السابق (استخدم نوع عدد صحيح طويل)
Filed3 وغني عن القول هذا (الملف. الطول يعتمد على الوضع).
تم تمرير هذا البرنامج ضمن IIS4+WIN2000P+ACCESS2000.