加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、容器安全、数据加密、云日志、云数据迁移!
当前位置: 首页 > 教程 > 正文

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

发布时间:2023-08-22 11:00:42 所属栏目:教程 来源:未知
导读:   本篇内容主要讲解“jquery如何实现省市区联动的选择功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery如何实
  本篇内容主要讲解“jquery如何实现省市区联动的选择功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery如何实现省市区联动的选择功能”吧!
 
  一、需求分析
 
  需要三个下拉框,分别代表省、市、区;
 
  选择省份后,市下拉框根据省份信息进行动态加载,相应的区下拉框也会根据市级信息进行动态加载。
 
  二、技术架构
 
  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>');
 
              }
 
          })
 
      }
 
  });
 

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章