JavaScript讀取xml實現下拉選單
xml檔案可以儲存資料,雖然現在更為流行使用json格式資料,但是xml檔案還是在大量使用中,下面就介紹一下javascript讀取xml檔案資料,然後生成下拉導航選單的程式碼。
一.javascript程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> function loadXML(){ var xmlDoc; try{ //IE xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } catch(e){ try{ xmlDoc = document.implementation.createDocument("","",null); } catch(e){ alert(e.message); return; } } xmlDoc.async=false; xmlDoc.load("cities.xml"); return xmlDoc; } //網頁載入完在載入 完成省份載入 onload=function(){ var xmlDocument = loadXML(); var provinceArr =xmlDocument.getElementsByTagName("province"); var proSize = provinceArr.length; for(var i=0;i<proSize;i++){ //建立option節點 var optionElement = document.createElement("option"); var provinceName = provinceArr[i].getAttribute("name"); //建立文字節點 var textElement =document.createTextNode(provinceName); optionElement.appendChild(textElement); optionElement.setAttribute("value", provinceName); var node = document.getElementById("province"); node.appendChild(optionElement); } } //省份改變事件 function changeProvince(node){ //獲取選擇的角標 var index = node.selectedIndex; //獲取對應的省份名 var provinceName = node.options[index].value; loadCities(provinceName); } //根據省份編號載入城市資訊 function loadCities(proName){ var xmlDocument = loadXML(); var provinceArr =xmlDocument.getElementsByTagName("province"); //獲取城市的元素 var citySelectEle = document.getElementById("cities"); var size = citySelectEle.options.length; for(var i=size;i>0;i--){ citySelectEle.remove(i); } //獲取省份的個數 var proSize = provinceArr.length; var proElement; //獲取對應的省份元素 for(var i=0;i<proSize;i++){ if(provinceArr[i].getAttribute("name")==proName){ proElement = provinceArr[i]; break; } } //獲取省份的城市資訊 var citiesArr = proElement.getElementsByTagName("city"); var len = citiesArr.length; for(var i=0;i<len;i++){ //建立option節點 var optionElement = document.createElement("option"); //獲取城市名 var cityName = citiesArr[i].firstChild.nodeValue; //建立文字節點 var textElement =document.createTextNode(cityName); optionElement.appendChild(textElement); optionElement.setAttribute("value", cityName); citySelectEle.appendChild(optionElement); } } function getValue(){ var pro = document.getElementById("province").value; var city = document.getElementById("cities").value; alert(pro+":"+city); } </script> </head> <body> <select id="province" onchange="changeProvince(this)"> <option value="" selected="selected">--省份--</option> </select> <select id="cities"> <option value="" selected="selected">--城市--</option> </select> <input type="button" value="彈出" onclick="getValue()"/> </body> </html>
二.xml檔案程式碼:
[XML] 純文字檢視 複製程式碼<?xml version="1.0" encoding="UTF-8"?> <xml-body> <province name="陝西"> <city>西安</city> <city>漢中</city> <city>寶雞</city> <city>延安</city> </province> <province name="廣東"> <city>佛山</city> <city>深圳</city> <city>廣州</city> <city>汕頭</city> </province> <province name="遼寧"> <city>大連</city> <city>鐵嶺</city> <city>鞍山</city> <city>撫順</city> </province> </xml-body>
相關文章
- JavaScript滑鼠懸浮出現下拉選單效果JavaScript
- JavaScript實現HTML導航欄下拉選單[懸浮顯示]JavaScriptHTML
- HTML+CSS實現下拉選單HTMLCSS
- checkbox及css實現點選下拉選單CSS
- JavaScript帶下拉選單的文字框JavaScript
- JavaScript二級下拉選單詳解JavaScript
- JavaScript動態操作select下拉選單JavaScript
- JavaScript slide下拉導航選單效果JavaScriptIDE
- 使用Vue實現下拉選單框批量新增選項Vue
- WPF實現樹形下拉選單框(TreeComboBox)
- jquery實現四級級聯下拉選單jQuery
- HTML+CSS+JQuery實現下拉選單滑鼠懸浮顯示下拉選單,取消隱藏HTMLCSSjQuery
- JQuery實現絢麗的橫向下拉選單jQuery
- 函式節流實現滑動下拉選單函式
- JavaScript下拉摺疊導航選單講解JavaScript
- Android讀取XML實現軟體自動登陸AndroidXML
- vue使用iview實現單選,禁選,下拉框的效果VueView
- Unity 讀取xmlUnityXML
- JavaScript 動畫效果緩慢二級下拉選單JavaScript動畫
- vue下拉選單Vue
- VBA 控制元件學習筆記(下拉選單實現)控制元件筆記
- 原生javascript實現的選取搜尋元件JavaScript元件
- 滑鼠移上去出現下拉選單
- uniapp 實現複選下拉框APP
- 採用JavaScript+XML實現具有樹形選單功能的論壇側邊導航欄JavaScriptXML
- HTML select 下拉選單HTML
- HTML select下拉選單HTML
- kendoUI 多選下拉選單 kendoMultiSelectUI
- C#實現的下拉多選框,下拉多選樹,多級節點C#
- JavaScript獲取選中radio單選按鈕值JavaScript
- 序列化篇 生成xml 以及讀取xmlXML
- HTML 單選按鈕實現 (性別選擇)(解讀)HTML
- CSS 二級下拉選單CSS
- jQuery 美化select下拉選單jQuery
- CSS二級下拉選單CSS
- 圓角select下拉選單
- PyQT5 實現下拉核取方塊QT
- Vue 資料雙向繫結實現二級下拉懸浮選單Vue
- C#讀取Xml檔案C#XML