標題標題  顯示論壇會員列表名單  搜索論壇搜索  HelpHelp
  注冊注冊  登入登入
ASP教學區
 DoReMe : ASP教學區
主題 話題: 關於<SELECT>的無限級聯(省|市|縣|鄉|村|...) 回復發表新主題
作者
貼子內容 << Prev Topic下一個主題 >>
gigigo
Groupie
Groupie


加入: 2004/5月/31
Online Status: Offline
回復: 42
Posted: 2004/5月/31 10:28上午 | IP記錄 引用 gigigo

index.asp
<html>
<head>
<title></title>
<meta content="text/html; charset=big5" 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+"& amp;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.Query String("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")&a mp;chr(34)
varAutoID=varAutoID&chr(34)&rsRecord("id")&chr(3 4)

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;"&vb crlf)

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下通過。
Back to Top 查看 gigigo's 資料 搜索其他貼子 gigigo 訪問 gigigo's
 

如果你想回復的話你必須首先 login
如果你還沒有注冊的話你必須首先 注冊

  回復發表新主題
顯示可打印的頁面 顯示可打印的頁面

論壇跳轉
不能 張貼新論題在這個討論版
不能 回應論題在這個討論版
不能 刪除你的發言在這個討論版
不能 編輯你的發言在這個討論版
不能 新增投票標題在這個討論版
不能 在這個討論版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.1714 seconds.

 
保養品
保養品, Skin Care
www.elady.tw
美材批發
美材, Cosmetic
www.elady.tw/beauty_org
保養品批發
名牌保養品、保養品批發
gb.perfume.com.tw/skincare
飾品批發
飾品、飾品批發
gb.perfume.com.tw/ornament