city.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<cities>
<province name="北京">
<city>大兴</city>
<city>昌平</city>
<city>朝阳</city>
<city>海淀</city>
<city>东城</city>
<city>西城</city>
</province>
<province name="河北">
<city>石家庄</city>
<city>保定</city>
<city>邢台</city>
<city>张家口</city>
<city>廊坊</city>
<city>承德</city>
</province>
<province name="河南">
<city>郑州</city>
<city>安阳</city>
<city>平顶山</city>
<city>开封</city>
<city>商丘</city>
<city>洛阳</city>
</province>
</cities>
select.html 文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>select.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body><br>
<span>
<select id="province">
<option>
请选择省
</option>
</select></span>
<span>
<select id="cities">
<option>
请选择相应省下面的市
</option>
</select>
</span>
</body>
</html>
<script type="text/javascript">
window.onload = function() {
var xmlDom;
try{
//针对的是IE浏览器 创建一个空的微软 XML 文档对象
xmlDom = new ActiveXObject("Microsoft.XMLDOM");
}catch(e){
try{
//在 Firefox 及其他浏览器中的 XML 解析器
//创建一个空的 XML 文档对象。
xmlDom = document.implementation.createDocument("","",null);
}catch(er){
}
}
//关闭异步加载,这样确保在文档完全加载之前解析器不会继续脚本的执行
xmlDom.async = "false";
//解析器加载名为 "xxx.xml" 的 XML 文档、
xmlDom.load("city.xml");
//获得根节点
var root = xmlDom.documentElement;
//获得省节点
var provinces = root.childNodes;
//获得第一个下拉框对象
var province = document.getElementById("province");
//把XML省节点的值添加到省下拉列表中
for(var i=0;i<provinces.length;i++) {
//获得省节点的属性为name的属性值
var name = provinces[i].getAttribute("name");
//创建一个option
var opt = document.createElement("option");
//创建省下拉列表中OPTION的值为得到的属性值的值
opt.appendChild(document.createTextNode(name));
//添加到下拉列表中
province.appendChild(opt);
}
//得到第二个下拉对象
var cities = document.getElementById("cities");
province.onchange = function() {
//获得第一个下拉框对象
var pce = document.getElementById("province");
//获取下拉框对象的所有OPTION
var opts = pce.options;
//获取被选中的下拉对象
var opt1 = opts[pce.selectedIndex];
//获取被选中的下拉文本对象的值(OPTION中间的文本)
var name = opt1.text; //opt1.innerHTML
for(var i=0;i<provinces.length;i++) {
//获取省节点的name属性值
var name1 = provinces[i].getAttribute("name");
//判断如果选中文本本的值,等于<province>属性值就把这个属性值的city值添加到第二个下拉列表中
if(name = name1) {
//清空下拉列表的值
cities.length = 1;
//得到当前选中的<province>对象
var pros = provinces[i];
//得到当前选中的<province>的子节点
var citys = pros.childNodes;
for (var j=0;j<citys.length;j++) {
//创建option对象
var opt1 = document.createElement("option");
opt1.appendChild(document.createTextNode(citys[j].firstChild.nodeValue));
//把创建的option对象添加到第二个下拉列表中
cities.appendChild(opt1);
}
}
}
}
}
为啥这个程序只能兼容IE?给找找原因吧!
分享到:
相关推荐
本主题将深入探讨如何使用jQuery解析XML数据,并利用这些数据实现省市二级联动的效果。这种功能常见于地理选择,用户在选择省份后,下拉菜单会自动更新展示对应省份的城市选项。 首先,我们需要理解XML(Extensible...
总的来说,实现"JQuery 解析XML省市区县三级联动"涉及的主要技术包括JQuery的事件处理、XML解析、AJAX通信、DOM操作等,这些是Web开发中的基础技能,对于提升用户交互体验至关重要。在实际开发中,开发者还需要考虑...
以下将详细介绍如何使用这些技术实现省市二级联动。 首先,我们需要一个数据库存储省市区信息。假设我们有一个名为`province_city`的表,包含`id`(主键)、`province_name`(省份名)、`city_name`(城市名)和`...
本主题主要关注如何使用XML文件实现省市二级联动效果,以及这种联动在实际应用中的意义。 在网页或应用设计中,省市联动通常用于地理信息的选择,例如用户在填写地址时,先选择省份,接着根据省份选择城市。这种...
总的来说,"Ajax实现省市二级联动"是一个典型的前端动态交互案例,它涉及到了JavaScript基础、Ajax通信、JSON数据处理以及DOM操作等多个知识点,是学习和掌握Ajax技术的良好实践。通过这种方式,我们可以构建更加...
在这个项目中,我们看到一个基于SSM实现的省市二级联动功能,利用了Ajax、Jquery和JSON技术。这个功能通常用于在前端展示时,用户选择省份后,自动加载并显示对应的市列表,提供了便捷的交互体验。 首先,我们需要...
总结来说,"JS_XML省市县三级联动"是利用JavaScript和XML技术实现的动态交互功能,通过合理的数据结构和事件处理,实现了下拉菜单间的联动效果,提高了用户在选择地址时的效率和便利性。这一技术在现代网页开发中...
在网页开发中,"dropdownlist 省市二级联动"是一种常见的交互设计,主要用于实现用户在选择省份时,下方的下拉列表会自动更新为对应省份的城市,无需页面整体刷新。这种功能通常应用于地址填写、订单提交等场景,...
本示例中提到的“一个jsp文件模拟xml文件,通过js调用解析后,在新的jsp页面上显示省市二级联动”是一个典型的前端与后端交互的场景,涉及到的技术点主要包括JSP、XML和JavaScript,以及前端的动态数据处理和页面...
总的来说,“JS省市区三级联动.htm+xml”是一个结合了JavaScript、XML和HTML技术的解决方案,实现了动态的省市区选择功能。开发者可以根据自己的需求,如数据来源(可能是动态从服务器获取而非静态XML文件)、样式...
通过JavaScript解析XML文件,可以实现省市二级联动的效果。首先加载XML文件,然后根据选择的省份动态加载对应的城市数据。 **JavaScript(JS)** 是网页开发中的主要脚本语言,用于处理客户端的交互。在省市二级...
在三级联动中,当用户在第一级(省)选择一个选项时,第二级(市)的下拉列表会自动更新,显示与选定省份相关的城市。同样,当用户在第二级选择后,第三级(区/县)的列表也会随之更新。这种联动效果提升了用户体验...
在本例中,"全国各省市二级联动.rar" 提供了一个使用 JavaScript 操作 XML 文件来实现这一功能的示例。 首先,我们要理解什么是二级联动。在Web界面中,二级联动通常指的是两个下拉列表(或选择框)之间存在的关联...
在二级联动场景中,PHP主要负责后端逻辑,包括获取数据库中的数据并以JSON或XML格式返回给前端。 AJAX(Asynchronous JavaScript and XML)则是一种在不重新加载整个网页的情况下,更新部分网页的技术。尽管XML在...
在网页开发中,"Ajax省市二级联动"是一个常见的功能,用于实现用户在选择省份时,城市下拉框自动更新对应省内的城市数据。这个功能提高了用户体验,减少了不必要的页面刷新,使得用户能够在不离开当前页面的情况下...
在“js二级和js_xml三级联动”中,JavaScript的主要作用是读取XML数据,解析出省份、城市和县的信息,并在用户选择某个级别时,动态更新下一级别的选项。通过事件监听和DOM操作,js可以实现实时响应用户的操作,展示...
在IT行业中,"js+xml四级联动"是一种常见的前端交互技术,主要用于实现多级下拉菜单或者选择器的联动效果。这种技术通常应用于如地区选择、类别筛选等场景,用户在选择某一选项时,后续的下拉框会根据前一个选项的...
在网页开发中,"AJAX 省市二级联动"是一种常见的交互设计,它使得用户在选择省份时,城市选项能够自动更新而无需重新加载整个页面。这种技术大大提升了用户体验,尤其是在处理大量的地理数据或者需要实时更新信息的...
本案例中,开发人员选择使用 **JavaScript (JS)** 和 **XML** 来实现省市二级联动下拉框功能。这种方式的优点是不需要服务器端的支持,只需要前端技术就可以完成,因此具有很好的灵活性和轻量性。 #### 三、XML文件...