1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>Document</title>
    7. </head>
    8. <body>
    9. <!-- 下拉选择框 -->
    10. <select name="province" id="province">
    11. </select>
    12. <select name="city" id="city">
    13. <!-- <option value=""></option> -->
    14. </select>
    15. <select name="area" id="area"></select>
    16. <script>
    17. var data = {
    18. '86': {
    19. "110000": "北京市",
    20. "120000": "天津市",
    21. "130000": "河北省",
    22. "140000": "山西省",
    23. "150000": "内蒙古自治区",
    24. "210000": "辽宁省",
    25. "220000": "吉林省",
    26. "230000": "黑龙江省",
    27. "310000": "上海市",
    28. "320000": "江苏省",
    29. "330000": "浙江省",
    30. "340000": "安徽省",
    31. "350000": "福建省",
    32. "360000": "江西省",
    33. "370000": "山东省",
    34. "410000": "河南省",
    35. "420000": "湖北省",
    36. "430000": "湖南省",
    37. "440000": "广东省",
    38. "450000": "广西壮族自治区",
    39. "460000": "海南省",
    40. "500000": "重庆市",
    41. "510000": "四川省",
    42. "520000": "贵州省",
    43. "530000": "云南省",
    44. "540000": "西藏自治区",
    45. "610000": "陕西省",
    46. "620000": "甘肃省",
    47. "630000": "青海省",
    48. "640000": "宁夏回族自治区",
    49. "650000": "新疆维吾尔自治区",
    50. "710000": "台湾省",
    51. "810000": "香港特别行政区",
    52. "820000": "澳门特别行政区"
    53. },
    54. "110000": {
    55. "110100": "市辖区"
    56. },
    57. "110100": {
    58. "110101": "东城区",
    59. "110102": "西城区",
    60. "110105": "朝阳区",
    61. "110106": "丰台区",
    62. "110107": "石景山区",
    63. "110108": "海淀区",
    64. "110109": "门头沟区",
    65. "110111": "房山区",
    66. "110112": "通州区",
    67. "110113": "顺义区",
    68. "110114": "昌平区",
    69. "110115": "大兴区",
    70. "110116": "怀柔区",
    71. "110117": "平谷区",
    72. "110118": "密云区",
    73. "110119": "延庆区"
    74. },
    75. "120000": {
    76. "120100": "市辖区"
    77. },
    78. "120100": {
    79. "120101": "和平区",
    80. "120102": "河东区",
    81. "120103": "河西区",
    82. "120104": "南开区",
    83. "120105": "河北区",
    84. "120106": "红桥区",
    85. "120110": "东丽区",
    86. "120111": "西青区",
    87. "120112": "津南区",
    88. "120113": "北辰区",
    89. "120114": "武清区",
    90. "120115": "宝坻区",
    91. "120116": "滨海新区",
    92. "120117": "宁河区",
    93. "120118": "静海区",
    94. "120119": "蓟州区"
    95. },
    96. "130000": {
    97. "130100": "石家庄市",
    98. "130200": "唐山市",
    99. "130300": "秦皇岛市",
    100. "130400": "邯郸市",
    101. "130500": "邢台市",
    102. "130600": "保定市",
    103. "130700": "张家口市",
    104. "130800": "承德市",
    105. "130900": "沧州市",
    106. "131000": "廊坊市",
    107. "131100": "衡水市"
    108. },
    109. "130100": {
    110. "130101": "市辖区",
    111. "130102": "长安区",
    112. "130104": "桥西区",
    113. "130105": "新华区",
    114. "130107": "井陉矿区",
    115. "130108": "裕华区",
    116. "130109": "藁城区",
    117. "130110": "鹿泉区",
    118. "130111": "栾城区",
    119. "130121": "井陉县",
    120. "130123": "正定县",
    121. "130125": "行唐县",
    122. "130126": "灵寿县",
    123. "130127": "高邑县",
    124. "130128": "深泽县",
    125. "130129": "赞皇县",
    126. "130130": "无极县",
    127. "130131": "平山县",
    128. "130132": "元氏县",
    129. "130133": "赵县",
    130. "130171": "石家庄高新技术产业开发区",
    131. "130172": "石家庄循环化工园区",
    132. "130181": "辛集市",
    133. "130183": "晋州市",
    134. "130184": "新乐市"
    135. },
    136. "130200": {
    137. "130201": "市辖区",
    138. "130202": "路南区",
    139. "130203": "路北区",
    140. "130204": "古冶区",
    141. "130205": "开平区",
    142. "130207": "丰南区",
    143. "130208": "丰润区",
    144. "130209": "曹妃甸区",
    145. "130224": "滦南县",
    146. "130225": "乐亭县",
    147. "130227": "迁西县",
    148. "130229": "玉田县",
    149. "130271": "河北唐山芦台经济开发区",
    150. "130272": "唐山市汉沽管理区",
    151. "130273": "唐山高新技术产业开发区",
    152. "130274": "河北唐山海港经济开发区",
    153. "130281": "遵化市",
    154. "130283": "迁安市",
    155. "130284": "滦州市"
    156. },
    157. };
    158. function init(elementId, data) {
    159. let inner = '';
    160. for (let city in data) {
    161. inner += '<option value="' + city + '">' + data[city] + '</option>';
    162. }
    163. document.getElementById(elementId).innerHTML = inner;
    164. }
    165. //初始化数据
    166. init('province', data['86']);
    167. init('city',data['110000']);
    168. init('area',data['110100'])
    169. let province = document.getElementById('province');
    170. province.addEventListener('change', function () {
    171. // alert(this.value);
    172. init('city', data[this.value]); //发生change事件,完成后有各个城市的选择
    173. init('area',data[document.getElementById('city').value]); //改变县的区域,修改初始
    174. })
    175. let city = document.getElementById('city');
    176. city.addEventListener('change', function () {
    177. // alert(this.value);
    178. init('area', data[this.value]);
    179. })
    180. </script>
    181. </body>
    182. </html>