indeks.asp
Kode program:
<html>
<kepala>
<judul></judul>
<meta content="teks/html; charset=gb2312" http-equiv="tipe-konten">
<style type="teks/css"><!--
FONT{ukuran font:12px}
TD{ukuran font:12px}
A{warna:#333399}
J: arahkan kursor{warna:#FF6600}
--></gaya>
<skrip bahasa="JavaScript" type="teks/JavaScript"><!--
fungsi menyenangkanOnload(){
document.all.list_file.src="jscript_city.asp?base=0&sele=0-&elem=Select01";
}
//seri pBase, berdasarkan 0,
//pSele adalah nilai <option
//pEle adalah nama formulir tingkat berikutnya
fungsi chgSelect(pBase,pSele,pElem){
//Setelah mengubah daftar. Menghapus nilai daftar di masa mendatang.
for(i=parseInt(pElem.replace("Pilih",""));i<=5;i++){
var tmp="000"+i;
var pElem1=eval("dokumen.Form1.Pilih"+tmp.substr(tmp.length-2));
pElem1.length=1;
pElem1.selectedIndex=0;
}
//JS menggunakan ASP untuk mengambil data dari database untuk memperbarui daftar bawahan
document.all.list_file.src="jscript_city.asp?base="+pBase+"&sele="+pSele+"&elem="+pElem;
}
//--></skrip>
<script id="list_file" Language="JavaScript" type="text/JavaScript" src=""></script>
</head>
<tubuh bgcolor="#FFFFFF" leftmargin="0" topmargin="2" text="#333333" onload="funOnload();">
<nama formulir="Formulir1">
<pilih nama="Select01" onchange="chgSelect(1,this.options[this.selectedIndex].value,'Select02')">
<option value="">Simpan...</option>
</pilih>
<pilih nama="Select02" onchange="chgSelect(2,this.options[this.selectedIndex].value,'Select03')">
<option value="">Kota...</option>
</pilih>
<pilih nama="Select03" onchange="chgSelect(3,this.options[this.selectedIndex].value,'Select04')">
<option value="">Kabupaten...</option>
</pilih>
<pilih nama="Select04" onchange="chgSelect(4,this.options[this.selectedIndex].value,'Select05')">
<option value="">Negara...</option>
</pilih>
<pilih nama="Pilih05">
<option value="">Desa...</option>
</pilih>
</bentuk>
</tubuh></html>
'jscript_city.asp
Kode program:
<%
' tingkat menu tarik-turun varBase
' ID database varSele dari item menu drop-down yang dipilih
' varElem Nama formulir tingkat berikutnya
varBase=Request.QueryString("base")
varSele=Kiri(Request.QueryString("sele"),InStr(Request.QueryString("sele"),"-")-1)
varElem=Permintaan.QueryString("elem")
varDistName=""
varAutoID=""
Setel conDB=Server.CreateObject("ADODB.CONNECTION")
conDB.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("db1.mdb")
sqlCommand="pilih * dari tabel1 di mana filed1="&varBase&" dan filed2="&varSele
Setel rsRecord=conDB.Execute(sqlCommand)
Meskipun Bukan rsRecord.eof
varDistName=varDistName&chr(34)&rsRecord("filed3")&chr(34)
varAutoID=varAutoID&chr(34)&rsRecord("id")&chr(34)
rsRecord.movenext
Jika Bukan rsRecord.Eof Kemudian
varDistName=varDistName&","
varAutoID=varAutoID&","
Akhiri Jika
Wend
Response.Write("var varDistName=Array baru("&varDistName&")"&vbcrlf)
Respon.Write("var varAutoID=Array baru("&varAutoID&")"&vbcrlf)
Respon.Write("var varElem=eval("&chr(34)&"document.Form1."&varElem&chr(34)&")"&vbcrlf)
Respons.Write("varElem.length=varDistName.length+1;"&vbcrlf)
Respons.Write("for(var i=0;i<varDistName.length;i++){"&vbcrlf)
Respon.Tulis(" varElem.options[i+1].text=varDistName;"&vbcrlf)
Respon.Tulis(" varElem.options[i+1].value=varAutoID+'-'+varDistName;"&vbcrlf)
Respons.Tulis("}"&vbcrlf)
Respons.Tulis("varElem.selectedIndex=0;"&vbcrlf)
%>
db1.mdb
'------------------------------------------------
Desa Huangcuo Zengcuoyu, Siming, Xiamen, Fujian, Desa Shuitou, Xihu, Fengze, Quanzhou, Fujian
.
'---------------------------------
id diajukan1 diajukan2 diajukan3
1 0 0 Fujian
2 1 1 Xiamen
3 1 1 Quanzhou
4 2 2 Siming
5 3 4 Huangcuo
6 4 5 Desa Tsang Chuo Eu
7 2 3 Fengze
8 3 7 Danau Barat
9 4 8 Desa Shuitou
'------------------------------------------------
Deskripsi basis data:
penomoran otomatis id
diajukan1 Level daftar menu drop-down (lihat level. Anda dapat mengatur presisinya. Ini adalah tipe numerik)
filed2 Nomor ID level sebelumnya (gunakan tipe integer panjang)
filed3 Tak perlu dikatakan lagi (file. Panjangnya tergantung pada situasi).
Program ini lolos di bawah IIS4+WIN2000P+ACCESS2000.