jquery如何实现省市区联动的选择功能

前端开发   发布日期:2024年12月23日   浏览次数:233

本篇内容主要讲解“jquery如何实现省市区联动的选择功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery如何实现省市区联动的选择功能”吧!

一、需求分析

  1. 需要三个下拉框,分别代表省、市、区;

  2. 选择省份后,市下拉框根据省份信息进行动态加载,相应的区下拉框也会根据市级信息进行动态加载。

二、技术架构

  1. HTML:首先需要定义三个下拉框(省、市、区)及其相关的id;

  2. CSS:定义下拉框的样式;

  3. JS/jQuery:主要实现下拉框的动态加载及用户选择时的数据传递。

三、技术实现

  1. HTML页面结构

  1. <select id="province"></select>
  2. <select id="city"></select>
  3. <select id="district"></select>
  1. 数据加载

  1. //先定义几个省市区数据
  2. var provinceData = [
  3. { id: '110101', name: '东城区' },
  4. { id: '110102', name: '西城区' },
  5. { id: '110105', name: '朝阳区' },
  6. //...
  7. ];
  8. var cityData = [
  9. { id: '110101', name: '北京市' },
  10. { id: '110201', name: '天津市' },
  11. { id: '120101', name: '上海市' },
  12. //...
  13. ];
  14. var districtData = [
  15. { id: '110101001', name: '东华门街道' },
  16. { id: '110101002', name: '景山街道' },
  17. { id: '110101003', name: '交道口街道' },
  18. //...
  19. ];
  20. //动态加载省份数据
  21. $.each(provinceData, function (index, value) {
  22. $('#province').append('<option value="' + value.id + '">' + value.name + '</option>');
  23. });
  24. //根据省份信息动态加载城市数据
  25. $('#province').on('change', function () {
  26. var selectProvince = $(this).val();
  27. $('#city').empty();
  28. $('#district').empty();
  29. if (selectProvince === '') {
  30. $('#city').prop('disabled', true);
  31. $('#district').prop('disabled', true);
  32. } else {
  33. $('#city').prop('disabled', false);
  34. $('#district').prop('disabled', true);
  35. $.each(cityData, function (index, value) {
  36. if (value.id.substring(0, 2) === selectProvince.substring(0, 2)) {
  37. $('#city').append('<option value="' + value.id + '">' + value.name + '</option>');
  38. }
  39. })
  40. }
  41. });
  42. //根据城市信息动态加载区数据
  43. $('#city').on('change', function () {
  44. var selectCity = $(this).val();
  45. $('#district').empty();
  46. if (selectCity === '') {
  47. $('#district').prop('disabled', true);
  48. } else {
  49. $('#district').prop('disabled', false);
  50. $.each(districtData, function (index, value) {
  51. if (value.id.substring(0, 4) === selectCity.substring(0, 4)) {
  52. $('#district').append('<option value="' + value.id + '">' + value.name + '</option>');
  53. }
  54. })
  55. }
  56. });

以上就是jquery如何实现省市区联动的选择功能的详细内容,更多关于jquery如何实现省市区联动的选择功能的资料请关注九品源码其它相关文章!