主頁 > 知識庫 > XML卷之實戰(zhàn)錦囊(4):選單連動

XML卷之實戰(zhàn)錦囊(4):選單連動

熱門標(biāo)簽:如何修改多個百度地圖標(biāo)注 東營電銷 南寧網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營商 r語言數(shù)據(jù)可視化地圖標(biāo)注 400電話辦理包年 隨州外呼調(diào)研系統(tǒng) 高德地圖地圖標(biāo)注服務(wù)中心 微信地圖標(biāo)注合并了 本地電話機(jī)器人

動機(jī):
現(xiàn)在我們做個在IE里應(yīng)用XML的一個小例子:解決雙下拉選單的連動問題。大家最常見的可能就是選取省份后改變城市選項的例子了,那我們就來嘗試著用XML來完成吧。

以前介紹的一些功能我是直接用XML+XSL文件來完成的,大家可能還不是很熟悉它的用法,所以我這次就用HMTL+XML來做,希望能夠讓大家更清楚的了解--“XML原來可以如此簡單!”:)


材料:
XML卷之選單連動
有2個文件:Citys.xml 和 CitySelect.htm

作用:
選擇省份后可以自動顯示相對應(yīng)的城市,這樣方便用戶,有效的提高數(shù)據(jù)互動,讓自己的頁面更加絢麗多彩。 
效果:
瀏覽這里 
代碼:
Citys.xml
?xml version="1.0" encoding="gb2312"?>
China>
  State id="1" name="江西">
    City>九江/City>
    City>南昌/City>
    City>廬山/City>
    City>景德鎮(zhèn)/City>
  /State>
  State id="2" name="北京">
    City>北京西/City>
    City>居庸關(guān)/City>
    City>清華園/City>
    City>周口店/City>
  /State>
  State id="3" name="福建">
    City>福州/City>
    City>廈門/City>
    City>漳州/City>
  /State>
  State id="4" name="甘肅">
    City>蘭州/City>
    City>洛門/City>
    City>嘉峪關(guān)/City>
  /State>
  State id="5" name="廣東">
    City>廣州/City>
    City>深圳/City>
    City>東莞/City>
    City>石牌/City>
  /State>
  State id="6" name="安徽">
    City>合肥/City>
    City>黃山/City>
    City>九龍崗/City>
    City>馬鞍山/City>
  /State>
/China>

CitySelect.htm

自定義函數(shù):ChooseState
(讀取XML數(shù)據(jù)中的省的名稱,并增加到SelState的下拉列表中)

function ChooseState()
{
  var source;
  var sourceName = "Citys.xml";
  var source = new ActiveXObject('Microsoft.XMLDOM');   //創(chuàng)建一個 MSXML解析器實例
  source.async = false;
  source.load(sourceName);   //裝入XML文檔
  root = source.documentElement;   //設(shè)置文檔元素為根節(jié)點(diǎn)元素
  sortField=root.selectNodes("http://@name");   //搜索屬性中含有name的所有節(jié)點(diǎn)
  for(var i=0;isortField.length;++i)   //增加省份名稱到下拉列表
  {
    var oOption = document.createElement('OPTION');
    oOption.text = " "+sortField[i].text+" ";
    oOption.value = sortField[i].text;
     form1.SelState.options.add(oOption);
  }
   ChooseCity();
}

自定義函數(shù):ChooseCity
(根據(jù)當(dāng)前選定的省名來讀取XML數(shù)據(jù)中的對應(yīng)城市名稱,并增加到SelCity 的下拉列表中)
function ChooseCity()
{
  x=form1.SelState.selectedIndex;   //讀取省份下拉框的當(dāng)前選項
  y=form1.SelState.options[x].value;
  sortField=root.selectNodes("http://State[@name='"+y+"']/Cityq uot;);   //搜索name屬性值等于
參數(shù)y的State節(jié)點(diǎn)下的所有city節(jié)點(diǎn)
  for(var i=form1.SelCity.options.length-1;i>=0;--i)   //撤消原來的列表項
  {
    form1.SelCity.options.remove(i)
  }
  for(var i=0;isortField.length;++i)   //增加城市名稱到下拉列表
  {
    var oOption = document.createElement('OPTION');
    oOption.text = " "+sortField[i].text+" ";
    oOption.value = sortField[i].text;
    form1.SelCity.options.add(oOption);
  }
}
 

表單源碼
BODY onLoad="ChooseState()">
FORM action="" method="post" id="form1" name="form1">
SELECT name="SelState" id="SelState" onchange="ChooseCity()" >
/SELECT>
SELECT name="SelCity" id="SelCity" >
/SELECT>
/FORM>
/BODY>

后記:
剛開始學(xué)XML的時候,我也有著和大家一樣的迷惑 --- “XML我是學(xué)了,可究竟這XML應(yīng)該怎么用呢?”這個問題阻難了我很久,很久......

因為電子商務(wù)和軟件開發(fā)是我的專長,于是我覺得還是從身邊最熟悉的開始做起吧。所以我將網(wǎng)站建設(shè)中最常用到的一些功能以XML的方式來完成。 你也一樣可以的!

標(biāo)簽:拉薩 黃石 果洛 宿遷 益陽 西雙版納 德州 寧夏

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