3.省市区,三级联动(优化版)

 1 <body οnlοad="change()">
 2     <form>
 3         <select οnchange="sel_one()">
 4         </select>
 5         <select οnchange="sel_two()">
 6             <option>请选择所在的城市</option>
 7         </select>
 8         <select>
 9             <option>请选择所在的县区</option>
10         </select>
11     </form>
12     <script>
13         var select = document.getElementsByTagName('select');
14         var sel_1 = select[0];
15         var sel_2 = select[1];
16         var sel_3 = select[2];
17         var oAjax = new XMLHttpRequest();
18         var c = '';
19         function change() {
20             oAjax.open('GET', 'json/city.json', true);
21             oAjax.send();
22             oAjax.onreadystatechange = function () {
23                 if (oAjax.readyState == 4 && oAjax.status == 200) {
24                     c = JSON.parse(oAjax.responseText);
25                     var option_1 = '<option>请选择所在的省市</option>';
26                     for (var i = 0; i < c.city.length; i++) {
27                         option_1 += '<option>' + c.city[i].name + '</option>';
28                     }
29                     sel_1.innerHTML = option_1;
30                 }
31             }
32         }
33         function sel_one() {
34             sel_1.firstElementChild.style.display = 'none';
35             sel_3.innerHTML = '<option>请选择所在的县区</option>';
36             var index = sel_1.selectedIndex - 1;
37             if (sel_1.value == c.city[index].name) {
38                 var option_2 = '';
39                 for (var i = 0; i < c.city[index].city.length; i++) {
40                     option_2 += '<option>' + c.city[index].city[i].name + '</option>';
41                 }
42                 sel_2.innerHTML = option_2;
43             }
44             sel_two();
45         }
46         function sel_two() {
47             var index = sel_1.selectedIndex - 1;
48             var index2 = sel_2.selectedIndex;
49             if (sel_2.value == c.city[index].city[index2].name) {
50                 var option_3 = ''
51                 for (var i = 0; i < c.city[index].city[index2].area.length; i++) {
52                     option_3 += '<option>' + c.city[index].city[index2].area[i] + '</option>';
53                 }
54                 sel_3.innerHTML = option_3;
55             }
56         }
57     </script>
58 </body>

 

转载于:https://www.cnblogs.com/web-xpy/p/10856239.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值