一、需求分析
需要三个下拉框,分别代表省、市、区;选择省份后,市下拉框根据省份信息进行动态加载,相应的区下拉框也会根据市级信息进行动态加载。二、技术架构
html:首先需要定义三个下拉框(省、市、区)及其相关的id;css:定义下拉框的样式;js/jquery:主要实现下拉框的动态加载及用户选择时的数据传递。三、技术实现
html页面结构<select id="province"></select><select id="city"></select><select id="district"></select>
数据加载//先定义几个省市区数据var provincedata = [ { id: '110101', name: '东城区' }, { id: '110102', name: '西城区' }, { id: '110105', name: '朝阳区' }, //...];var citydata = [ { id: '110101', name: '北京市' }, { id: '110201', name: '天津市' }, { id: '120101', name: '上海市' }, //...];var districtdata = [ { id: '110101001', name: '东华门街道' }, { id: '110101002', name: '景山街道' }, { id: '110101003', name: '交道口街道' }, //...];//动态加载省份数据$.each(provincedata, function (index, value) { $('#province').append('<option value="' + value.id + '">' + value.name + '</option>');});//根据省份信息动态加载城市数据$('#province').on('change', function () { var selectprovince = $(this).val(); $('#city').empty(); $('#district').empty(); if (selectprovince === '') { $('#city').prop('disabled', true); $('#district').prop('disabled', true); } else { $('#city').prop('disabled', false); $('#district').prop('disabled', true); $.each(citydata, function (index, value) { if (value.id.substring(0, 2) === selectprovince.substring(0, 2)) { $('#city').append('<option value="' + value.id + '">' + value.name + '</option>'); } }) }});//根据城市信息动态加载区数据$('#city').on('change', function () { var selectcity = $(this).val(); $('#district').empty(); if (selectcity === '') { $('#district').prop('disabled', true); } else { $('#district').prop('disabled', false); $.each(districtdata, function (index, value) { if (value.id.substring(0, 4) === selectcity.substring(0, 4)) { $('#district').append('<option value="' + value.id + '">' + value.name + '</option>'); } }) }});
四、效果展示
经过上述代码实现后,我们可以构建出如下的省市区联动效果:
五、总结
通过 jquery 来动态加载省市区信息,不仅可以提高页面的动态效果,更可实现时间的省略,简化了开发时间,更好的达到了用户体验。实现方法并不难,仅需几行代码即可,开发者只需根据示例稍作修改就能够得到符合自己需要的效果。
以上就是jquery怎么实现省市区联动的选择功能的详细内容。