XML我是直接在网上下载的文件包 拿过来用的

jquery我用的是3.1的

 

前台页面

 1  <form action="buy.html" method="get">
 2         <div>
 3             <table>
 4                 <tr>
 5                     <td colspan="2" align="center">送货地址确认</td>
 6                 </tr>
 7                 <tr>
 8                     <td align="right">省份:</td>
 9                     <td>
10                         <select id="province">
11                             <option>请选择</option>
12                         </select>
13                     </td>
14                 </tr>
15                 <tr>
16                     <td align="right">市/区:</td>
17                     <td>
18                         <select id="city">
19                            <option>请选择</option>
20                         </select>
21                     </td>
22                 </tr>
23                 <tr>
24                     <td align="right">街道:</td>
25                     <td>
26                         <input type="text" name="txtStreet" class="street" />
27                     </td>
28                 </tr>
29                 <tr>
30                     <td align="right">门牌号:</td>
31                     <td><input type="text" name="txtHouseNum" class="street" /></td>
32                 </tr>
33                 <tr>
34                     <td colspan="2" align="center">
35                         <input type="submit" value="确认" />
36                     </td>
37                 </tr>
38             </table>
39         </div>
40     </form>

 

jquery代码

 1 //解析并加载xml文件
 2 $.get("xml/city.xml", function(xml) {
 3     //获得xml文件
 4     var docXml = xml;
 5     //使用find方法找到对应的节点元素 然后使用each方法遍历所有数据
 6     //$(selector).each(function(index,element))
 7     //index - 选择器的 index 位置 element - 当前的元素( 也可使用 "this"选择器)
 8     var $provinceElements = $(docXml).find("province");
 9     $provinceElements.each(function(index, domEle) {
10         //获取省名 attr() 方法设置或返回被选元素的属性值
11         var $provinceName = $(domEle).attr("name");
12         //获取select元素 添加选项
13         var $provinceElement = $("#province");
14         $provinceElement.append("<option>" + $provinceName + "</option>");
15     });
16     //当下拉框的值发生改变 对应的城市下拉框的值也发生改变
17     $("#province").change(function() {
18         //val() 方法返回或设置被选元素的值 
19         var $province = $(this).val();
20         //移除市下拉选项
21         $("#city option").remove();
22         //遍历节点
23         $provinceElements.each(function(index, domEle) {
24             //获取省名
25             var $provinceName = $(domEle).attr("name");
26             //判断获取到的省名和下拉框选中的省名是否一致
27             if ($province == $provinceName) {
28                 //获取城市节点
29                 var $cityName = $(domEle).find("city");
30                 //遍历城市
31                 $cityName.each(function(index, demle) {
32                     var $cityValue = $(demle).attr("name"); //获取市名
33                     //获取city下拉框 添加元素
34                     var $cityElement = $("#city");
35                     $cityElement.append("<option>" + $cityValue + "</option>");
36                 });
37             }
38         });
39     });
40 
41 
42 });