jquery解析XML文件实现的省市联动
XML我是直接在网上下载的文件包 拿过来用的
jquery我用的是3.1的
前台页面
<form action="buy.html" method="get">
<div>
<table>
<tr>
<td colspan="2" align="center">送货地址确认</td>
</tr>
<tr>
<td align="right">省份:</td>
<td>
<select id="province">
<option>请选择</option>
</select>
</td>
</tr>
<tr>
<td align="right">市/区:</td>
<td>
<select id="city">
<option>请选择</option>
</select>
</td>
</tr>
<tr>
<td align="right">街道:</td>
<td>
<input type="text" name="txtStreet" class="street" />
</td>
</tr>
<tr>
<td align="right">门牌号:</td>
<td><input type="text" name="txtHouseNum" class="street" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="确认" />
</td>
</tr>
</table>
</div>
</form>
jquery代码
//解析并加载xml文件
$.get("xml/city.xml", function(xml) {
//获得xml文件
var docXml = xml;
//使用find方法找到对应的节点元素 然后使用each方法遍历所有数据
//$(selector).each(function(index,element))
//index - 选择器的 index 位置 element - 当前的元素( 也可使用 "this"选择器)
var $provinceElements = $(docXml).find("province");
$provinceElements.each(function(index, domEle) {
//获取省名 attr() 方法设置或返回被选元素的属性值
var $provinceName = $(domEle).attr("name");
//获取select元素 添加选项
var $provinceElement = $("#province");
$provinceElement.append("<option>" + $provinceName + "</option>");
});
//当下拉框的值发生改变 对应的城市下拉框的值也发生改变
$("#province").change(function() {
//val() 方法返回或设置被选元素的值
var $province = $(this).val();
//移除市下拉选项
$("#city option").remove();
//遍历节点
$provinceElements.each(function(index, domEle) {
//获取省名
var $provinceName = $(domEle).attr("name");
//判断获取到的省名和下拉框选中的省名是否一致
if ($province == $provinceName) {
//获取城市节点
var $cityName = $(domEle).find("city");
//遍历城市
$cityName.each(function(index, demle) {
var $cityValue = $(demle).attr("name"); //获取市名
//获取city下拉框 添加元素
var $cityElement = $("#city");
$cityElement.append("<option>" + $cityValue + "</option>");
});
}
});
}); });
jquery解析XML文件实现的省市联动的更多相关文章
- JQuery -- Jquery 中的Ajax, Jquery解析xml文件
1. JQuery 对 Ajax 操作进行了封装,在 jQuery 中最底层的方法时 $.ajax(), 第二层是 load(), $.get() 和 $.post(),第三层是$.getScript ...
- jquery解析XML(1)
jquery解析XML文件 html代码 <!DOCTYPE html><html><head><title>解析XML</title>&l ...
- jQuery ajax解析xml文件demo
解析xml文件,然后将城市列表还原到下拉列表框中:当选择下拉列表框时,在对应的文本框中显示该城市信息. 前端代码: <!doctype html> <html> <hea ...
- 160928、JQuery解析XML数据的demo
用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做.下面我们来总结几个使用JQuery解析XML的例子. 方案1 当后台返回的数据类型是xml对象 ...
- JQuery解析XML数据的几个例子
用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做.下面我们来总结几个使用JQuery解析XML的例子. 第一种方案: <script ty ...
- 160708、JQuery解析XML数据的demo
用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做.下面我们来总结几个使用JQuery解析XML的例子. 方案1 当后台返回的数据类型是xml对象 ...
- 几个JQuery解析XML的程序例子
用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做.下面我们来总结几个使用JQuery解析XML的例子. 第一种方案: <script ty ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- JAVA使用SAX解析XML文件
在我的另一篇文章(http://www.cnblogs.com/anivia/p/5849712.html)中,通过一个例子介绍了使用DOM来解析XML文件,那么本篇文章通过相同的XML文件介绍如何使 ...
随机推荐
- Leetcode506.Relative Ranks相对名次
给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌.前三名运动员将会被分别授予 "金牌","银牌" 和" 铜牌"(" ...
- 1.Js 点击控件区域之外隐藏控件
1.限制对象可以是 div 或者from 2.添加calss =stopProhide 3.需要添加jquery 类库 示例: $("#form_Query").click(fun ...
- CF549G Happy Line
传送门 解题思路 题意大概就是给你个数列,你可以随意交换i,i+1,交换后位于第i+1位的数字+1,位于第i位的数字-1,问最终能否形成一个不下降序列并输出.设初始数列中两个位置x,y最终交换后的位置 ...
- spring深入学习(六)-----springmvc
MVC设计模式 有过一定开发经验的人肯定都知道这个模式,先简单介绍下这种模式,然后再去讨论为啥要这么设计: 传统的web应用中应该主要包括这些组件,不同组件负责不同的模块. 数据实体:POJO 数据层 ...
- Linux & CentOS & RHEL
1.修改centos7的系统编码:https://blog.csdn.net/violet_echo_0908/article/details/58063555 2.windows 环境下使用ultr ...
- maven打包时无法识别lombok中@Data生成的get set方法
开发中使用了lombok,在使用maven编译打包时发现识别不了lombok通过注解@Data在实体类中生成的get,set方法.通过在网上的一篇博客找到了解决的办法,将maven-compiler- ...
- Ubuntu 服务器默认的root账号是没有激活的,需要用初装的用户账号给root设置管理密码
user@ubuntu12:~$ sudo password root //用sudo修改账户 1.根据提示输入当前用户的密码: 2.修改成功之后你就可以使用root账号了,可以使用su root 命 ...
- 2019.9.18 csp-s模拟测试46 反思总结
神志不清: 回去休息(x)继续考试(√) 非常爆炸的一次考试.看错题码完T1回去再看发现自己过于幼稚,T2读完题看着16mb的空间秒出正解然后逻辑出现致命失误100pts->0pts,T3看了一 ...
- DLedger —基于 raft 协议的 commitlog 存储库
“点击获取上云帮助文档” 尊敬的阿里云用户: 您好!为方便您试用开源 RocketMQ 客户端访问阿里云MQ,我们申请了专门的优惠券,优惠券可以直接抵扣金额.请填写下您公司账号信息,点击上图,了解更多 ...
- 数组的方法之(Array.prototype.filter() 方法)
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 注意: filter() 不会对空数组进行检测. 注意: filter() 不会改变原始 ...