
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>省市区级联选择菜单</title></head><body> <div class="box"> <select name="" id="province"> </select> <select name="" id="city"> </select> <select name="" id="area"> </select> </div> <script src="js/data.js" type="text/javascript" charset="utf-8"></script> <script> window.onload = function () { init(); } function init() { // 将省份添加到province /* let province_list = data.province_list; let city_list = data.province_list; let area_list = data.province_list; */ // es6的结构赋值 let { province_list, city_list, county_list } = data; let options ='<option value="" disabled selected>请选择</options>'; for (let key in province_list) { options += '<option value="' + key + '">' + province_list[key] + '</options>'; } let province = document.querySelector('#province'); province.innerHTML = options; province.onchange = function () { // 获取省份的前两位数字 let pre = this.value.substr(0, 2); // 根据省份前两位数将所有的市添加到city let options ='<option value="" disabled selected>请选择</options>'; for (let key in city_list) { if (key.substr(0, 2) == pre) { options += '<option value="' + key + '">' + city_list[key] + '</options>'; } } let city = document.querySelector('#city'); city.innerHTML = options; } city.onchange = function () { // 获取省份的前两位数字 let pre = this.value.substr(0, 4); // 根据省份前两位数将所有的市添加到city let options =''; for (let key in county_list) { if (key.substr(0, 4) == pre) { options += '<option value="' + key + '">' + county_list[key] + '</options>'; } } let area = document.querySelector('#area'); area.innerHTML = options; } } </script></body></html>