select根据省份从xml文件里面读取城市信息的例子(兼容ff与ie)
2013-09-13 18:07
405 查看
<script type="text/javascript"> window.onload = function() { /** * 加载xml */ function parseXML() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", "xml/city.xml", false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; return xmlDoc; }; /** *获得select的文本值 *这里采用这种做法的好处是为了兼容ie和ff */ function getName(obj) { var index = obj.selectedIndex; // 选中索引 var text = obj.options[index].text; return text; } /* *如果城市里面已经有数据,就清空 * */ function initCity(cityLen,citys,citysSubElements) { if(cityLen>1) { for (var int2 = 1,l=cityLen; int2 < l; int2++) { var array_element = citysSubElements[1]; citys.removeChild(array_element); } } } /** *添加城市 */ function addCity(arrayElement,citys) { for ( var int2 = 0, k = arrayElement.length; int2 < k; int2++) { var array_element = arrayElement[int2]; //构造节点 var cityOption = document.createElement("option"); var txtNode = document .createTextNode(array_element.firstChild.nodeValue); cityOption.appendChild(txtNode); //添加相应的节点 citys.appendChild(cityOption); } } document.getElementById("provice").onchange = function() { //解析相应的xml var doc = parseXML(); //获得城市列表 var provices = doc.getElementsByTagName("provice"); //获得要显示的城市组件 var citys = document.getElementById("city"); var citysSubElements = citys.children; var cityLen = citysSubElements.length; // 初始化城市列表 initCity(cityLen,citys,citysSubElements) for ( var int = 0, j = provices.length; int < j; int++) //遍历省份列表 { var array_element = provices[int]; if (array_element.getAttributeNode("name").nodeValue == getName(this)) //查找到所需的省份 { //此处写法是为了兼容ie var arrayElement = array_element.children||array_element.childNodes;//查找到所需的城市() addCity(arrayElement,citys); break; } } } } </script> <select id="provice"> <option> 请选择 </option> <option> 辽宁 </option> <option> 河南 </option> <option> 广东 </option> </select> <select id="city"> <option> 请选择 </option> </select> <?xml version="1.0" encoding="GBK"?> <china> <provice name="辽宁"> <city>沈阳市</city> <city>铁岭县</city> <city>盘锦市</city> <city>锦州市</city> </provice> <provice name="河南"> <city>郑州</city> <city>南阳</city> <city>焦作</city> <city>新乡</city> </provice> <provice name="广东"> <city>深圳</city> <city>珠海</city> <city>东莞</city> <city>梅州</city> </provice> </china>
相关文章推荐
- JS读取并输出xml文件节点及属性(兼容IE,FF)
- JS读取并输出xml文件节点及属性(兼容IE,FF)
- JS读取并输出xml文件节点及属性(兼容IE,FF)
- JS读取并输出xml文件节点及属性(兼容IE,FF)
- js读取xml文件 (兼容IE和FF)
- SQL触发器:根据客户档案中的地区信息自动更新联系页中的省份和城市
- 创建xmldocument对象,并读取xml,绑定到select, ie/ff通用
- Ie,FF兼容Select 选中的文本
- JS对select动态添加options操作【IE&FF兼容】
- android读取xml文件来实现省份,城市,区的选择
- 用js实现的图片在浏览器里面来回滚动效果 <兼容ie和ff>
- 解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
- js 读取xml 兼容ff和ie
- JS 两日期相减,获得天数的小例子(兼容IE,FF)
- 解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
- JS 两日期相减,获得天数的小例子(兼容IE,FF)
- 创建xmldocument对象,并读取xml,绑定到select, ie/ff通用
- PHP 获取IP 并根据IP获取 城市省份等信息
- js判断文本框里面输入内用以后是否有回车 (兼容FF和IE)
- android读取xml文件来实现省份,城市,区的选择