主頁(yè) > 知識(shí)庫(kù) > 利用XMLHTTP實(shí)現(xiàn)的二級(jí)連動(dòng)Select

利用XMLHTTP實(shí)現(xiàn)的二級(jí)連動(dòng)Select

熱門(mén)標(biāo)簽:辰溪地圖標(biāo)注 上海浦東騰訊地圖標(biāo)注位置 電銷(xiāo)機(jī)器人違法了嗎 澳大利亞城市地圖標(biāo)注 姜堰電銷(xiāo)機(jī)器人 遼寧正規(guī)電銷(xiāo)機(jī)器人 遼寧銀行智能外呼系統(tǒng) 海南銀行智能外呼系統(tǒng)商家 許昌智能電銷(xiāo)機(jī)器人公司
這是繼 "利用XMLHTTP無(wú)刷新獲取數(shù)據(jù)" 的另一篇關(guān)于XMLHTTP的應(yīng)用. 
關(guān)于XMLHTTP.可以說(shuō),是一個(gè)很好的接合劑.把客戶端和服務(wù)端的距離拉近了. 
利用XMLHTTP.我們可以實(shí)現(xiàn)很多好的想法. 
這文章.實(shí)現(xiàn)了二級(jí)連動(dòng)Select. 
傳統(tǒng)二級(jí)連動(dòng)是把所有的數(shù)據(jù)都傳到有客戶端.. 
利用XMLHTTP.我們可以實(shí)時(shí)地返回我們所需要的數(shù)據(jù). 
select.htm 
復(fù)制代碼 代碼如下:

script language="Javascript"> 
function GetResult(str) 

/* 
 *--------------- GetResult(str) ----------------- 
 * GetResult(str)  
 * 功能:通過(guò)XMLHTTP發(fā)送請(qǐng)求,返回結(jié)果. 
 * 參數(shù):str,字符串,發(fā)送條件. 
 * 實(shí)例:GetResult(document.all.userid.value); 
 * author:wanghr100(灰豆寶寶.net) 
 * update:2004-5-27 19:02 
 *--------------- GetResult(str) ----------------- 
 */ 
    var oBao = new ActiveXObject("Microsoft.XMLHTTP"); 
    oBao.open("POST","Server.asp?sel="+str,false); 
    oBao.send(); 
    //服務(wù)器端處理返回的是經(jīng)過(guò)escape編碼的字符串. 
    //通過(guò)XMLHTTP返回?cái)?shù)據(jù),開(kāi)始構(gòu)建Select. 
    BuildSel(unescape(oBao.responseText),document.all.sel2) 

function BuildSel(str,sel) 

/* 
 *--------------- BuildSel(str,sel) ----------------- 
 * BuildSel(str,sel)  
 * 功能:通過(guò)str構(gòu)建Select. 
 * 參數(shù):str,字符串,由服務(wù)端返回的.有特定結(jié)構(gòu)"字符串1,字符串2,字符串3" 
 * 參數(shù):sel,要構(gòu)建的Select 
 * 實(shí)例:BuildSel(unescape(oBao.responseText),document.all.sel2) 
 * author:wanghr100(灰豆寶寶.net) 
 * update:2004-5-27 19:02 
 *--------------- BuildSel(str,sel) ----------------- 
 */ 
    //先清空原來(lái)的數(shù)據(jù). 
    sel.options.length=0; 
    var arrstr = new Array(); 
    arrstr = str.split(","); 
    //開(kāi)始構(gòu)建新的Select. 
    for(var i=0;iarrstr.length;i++) 
    { 
        sel.options[sel.options.length]=new Option(arrstr,arrstr) 
    } 

/script> 
select name="sel" onChange="GetResult(this.value)"> 
option value="">請(qǐng)選擇 
option value="福建省">福建省 
option value="湖北省">湖北省 
option value="遼寧省">遼寧省 
select> 
select name="sel2">/select>

server.asp  服務(wù)器端處理. 
復(fù)制代碼 代碼如下:

% @Language="Javascript" %> 

function OpenDB(sdbname) 

/* 
 *--------------- OpenDB(sdbname) ----------------- 
 * OpenDB(sdbname)  
 * 功能:打開(kāi)數(shù)據(jù)庫(kù)sdbname,返回conn對(duì)象. 
 * 參數(shù):sdbname,字符串,數(shù)據(jù)庫(kù)名稱(chēng). 
 * 實(shí)例: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。中文處理的問(wèn)題. 
//數(shù)組組合成字符串.由","字符串連接. 
Response.Write(escape(arrResult.join(","))); 
%>

數(shù)據(jù)庫(kù)設(shè)計(jì) 
data.mdb 
表china. 
字段 
id  自動(dòng)編號(hào) 
province 文本 
city  文本 
表:china 數(shù)據(jù):  
id province city 
1 福建省  福州市 
2 福建省  廈門(mén)市 
3 福建省  泉州市 
4 湖北省  武漢市 
5 湖北省  荊州市 
6 湖北省  宜昌市 
7 遼寧省  沈陽(yáng)市 
8 遼寧省  大連市 
9 遼寧省  盤(pán)錦市

標(biāo)簽:威海 撫州 伊春 西藏 晉城 銅川 深圳 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用XMLHTTP實(shí)現(xiàn)的二級(jí)連動(dòng)Select》,本文關(guān)鍵詞  利用,XMLHTTP,實(shí)現(xiàn),的,二級(jí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用XMLHTTP實(shí)現(xiàn)的二級(jí)連動(dòng)Select》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于利用XMLHTTP實(shí)現(xiàn)的二級(jí)連動(dòng)Select的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章