利用XMLHTTP我們可以實現(xiàn)很多好的想法,這文章實現(xiàn)了二級連動Select,需要的朋友可以參考下其中的內(nèi)容詳情。
這是繼?"利用XMLHTTP無刷新獲取數(shù)據(jù)"?的另一篇關(guān)于XMLHTTP的應(yīng)用.?
關(guān)于XMLHTTP.可以說,是一個很好的接合劑.把客戶端和服務(wù)端的距離拉近了.?
傳統(tǒng)二級連動是把所有的數(shù)據(jù)都傳到有客戶端..?
利用XMLHTTP.我們可以實時地返回我們所需要的數(shù)據(jù).?
select.htm?
?
?
server.asp??服務(wù)器端處理.?
?
?
?
function?OpenDB(sdbname)?
{?
/*?
?*---------------?OpenDB(sdbname)?-----------------?
?*?OpenDB(sdbname)??
?*?功能:打開數(shù)據(jù)庫sdbname,返回conn對象.?
?*?參數(shù):sdbname,字符串,數(shù)據(jù)庫名稱.?
?*?實例:var?conn?=?OpenDB("database.mdb");?
?*?author:wanghr100(灰豆寶寶.net)?
?*?update:2004-5-12?8:18?
?*---------------?OpenDB(sdbname)?-----------------?
?*/?
????var?connstr?=?"Provider=Microsoft.Jet.OLEDB.4.0;?Data?Source="+Server.MapPath(sdbname);?
????var?conn?=?Server.CreateObject("ADODB.Connection");?
????conn.Open(connstr);?
????return?conn;?
}?
var?oConn?=?OpenDB("data.mdb");?
var?province?=?Request("sel");?
var?arrResult?=?new?Array();?
var?sql?=?"select?city?from?china?where?province='"+province+"'";?
var?rs?=?Server.CreateObject("ADODB.Recordset");?
rs.Open(sql,oConn,1,1);?
while(!rs.EOF)?
{?
????//遍歷所有適合的數(shù)據(jù)放入arrResult數(shù)組中.?
????arrResult[arrResult.length]?=?rs("city").Value;?
????rs.MoveNext();?
}?
//escape解決了XMLHTTP。中文處理的問題.?
//數(shù)組組合成字符串.由","字符串連接.?
Response.Write(escape(arrResult.join(",")));?
%>
數(shù)據(jù)庫設(shè)計?
data.mdb?
表china.?
字段?
id??自動編號?
province?文本?
city??文本?
表:china?數(shù)據(jù):??
id?province?city?
1?福建省??福州市?
2?福建省??廈門市?
3?福建省??泉州市?
4?湖北省??武漢市?
5?湖北省??荊州市?
6?湖北省??宜昌市?
7?遼寧省??沈陽市?
8?遼寧省??大連市?
9?遼寧省??盤錦市
利用XMLHTTP我們可以實現(xiàn)很多好的想法,這文章實現(xiàn)了二級連動Select,通俗易懂的加以說明了,相信你們也領(lǐng)悟到了,更多相關(guān)內(nèi)容請繼續(xù)關(guān)注錯新技術(shù)頻道。