image.png

    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>省市区级联选择菜单</title>
    7. </head>
    8. <body>
    9. <div class="box">
    10. <select name="" id="province">
    11. </select>
    12. <select name="" id="city">
    13. </select>
    14. <select name="" id="area">
    15. </select>
    16. </div>
    17. <script src="js/data.js" type="text/javascript" charset="utf-8"></script>
    18. <script>
    19. window.onload = function () {
    20. init();
    21. }
    22. function init() {
    23. // 将省份添加到province
    24. /* let province_list = data.province_list;
    25. let city_list = data.province_list;
    26. let area_list = data.province_list; */
    27. // es6的结构赋值
    28. let {
    29. province_list,
    30. city_list,
    31. county_list
    32. } = data;
    33. let options ='<option value="" disabled selected>请选择</options>';
    34. for (let key in province_list) {
    35. options += '<option value="' + key + '">' + province_list[key] + '</options>';
    36. }
    37. let province = document.querySelector('#province');
    38. province.innerHTML = options;
    39. province.onchange = function () {
    40. // 获取省份的前两位数字
    41. let pre = this.value.substr(0, 2);
    42. // 根据省份前两位数将所有的市添加到city
    43. let options ='<option value="" disabled selected>请选择</options>';
    44. for (let key in city_list) {
    45. if (key.substr(0, 2) == pre) {
    46. options += '<option value="' + key + '">' + city_list[key] + '</options>';
    47. }
    48. }
    49. let city = document.querySelector('#city');
    50. city.innerHTML = options;
    51. }
    52. city.onchange = function () {
    53. // 获取省份的前两位数字
    54. let pre = this.value.substr(0, 4);
    55. // 根据省份前两位数将所有的市添加到city
    56. let options ='';
    57. for (let key in county_list) {
    58. if (key.substr(0, 4) == pre) {
    59. options += '<option value="' + key + '">' + county_list[key] + '</options>';
    60. }
    61. }
    62. let area = document.querySelector('#area');
    63. area.innerHTML = options;
    64. }
    65. }
    66. </script>
    67. </body>
    68. </html>