jquery实现省市二级联动
使用 jQuery 实现 **省市二级联动**(即选择省份后,下拉框自动更新对应的市)是一个常见的需求,通常用于表单填写、地址选择等场景。 下面是一个完整的示例,包括 HTML 结构、jQuery 代码和数据结构(使用 JSON 数据),你可以根据需要进行扩展或修改。 --- ## ✅ 示例:省市二级联动(HTML + jQuery) ### 1. HTML 部分 ```html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>省市二级联动</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <h2>省市联动选择</h2> <label for="province">省份:</label> <select id="province"> <option value="">请选择省份</option> </select> <label for="city">城市:</label> <select id="city"> <option value="">请先选择省份</option> </select> <script> // 省市数据(可以替换为 AJAX 请求) var provinces = { "北京": ["东城区", "西城区", "朝阳区", "海淀区"], "上海": ["黄浦区", "徐汇区", "长宁区", "浦东新区"], "广东": ["广州市", "深圳市", "珠海市", "佛山市"], "江苏": ["南京市", "苏州市", "无锡市", "常州市"] }; $(document).ready(function () { // 填充省份 $.each(provinces, function (province) { $('#province').append('<option value="' + province + '">' + province + '</option>'); }); // 省份变化时更新城市 $('#province').change(function () { var selectedProvince = $(this).val(); var cities = provinces[selectedProvince] || []; $('#city').empty().append('<option value="">请选择城市</option>'); if (cities.length > 0) { $.each(cities, function (index, city) { $('#city').append('<option value="' + city + '">' + city + '</option>'); }); } }); }); </script> </body> </html> ``` --- ## 🔍 说明 - 使用了一个 `provinces` 对象来存储省市区的映射关系。 - 使用 jQuery 的 `.change()` 方法监听省份选择的变化。 - 当省份改变时,清空城市下拉框并重新填充对应的城市选项。 --- ## 📌 扩展建议 - 如果数据量大,可以将数据通过 AJAX 动态加载。 - 可以添加更多层级(如:省 -> 市 -> 区)。 - 可以用 `<optgroup>` 来优化显示结构。 - 可以加入验证逻辑,防止用户未选省份就提交表单。 --- 如果你需要从数据库动态获取数据,或者使用 JSON 文件,请告诉我,我可以提供相应的 AJAX 示例。