jQuery给select二级联动选中

什么是二级联动?

二级联动是指在一个下拉菜单中选择一个选项后,另一个下拉菜单的选项会相应地发生变化。常见的应用场景包括选择省份后根据省份的不同显示对应的城市列表。

使用jQuery实现二级联动选中

HTML结构

首先,我们需要创建一个HTML结构来容纳两个下拉菜单。

<form>
  <label for="province">选择省份:</label>
  <select id="province"></select>

  <label for="city">选择城市:</label>
  <select id="city"></select>
</form>

jQuery代码

接下来,我们使用jQuery来动态生成下拉菜单的选项,并实现二级联动的功能。

$(document).ready(function() {
  // 定义省份和城市的数据
  var data = {
    "北京市": ["北京市"],
    "上海市": ["上海市"],
    "广东省": ["广州市", "深圳市", "珠海市", "汕头市"],
    "浙江省": ["杭州市", "宁波市", "温州市", "嘉兴市"],
    // ... 其他省份和城市的数据
  };

  // 加载省份的选项
  $.each(data, function(key, value) {
    $('#province').append($('<option></option>').attr('value', key).text(key));
  });

  // 根据选择的省份加载城市的选项
  $('#province').change(function() {
    var selectedProvince = $(this).val();
    var cities = data[selectedProvince];
    $('#city').empty();
    $.each(cities, function(index, value) {
      $('#city').append($('<option></option>').attr('value', value).text(value));
    });
  });

  // 默认选择第一个省份
  $('#province').val(Object.keys(data)[0]).change();
});

代码解析

  1. 我们首先定义了一个包含省份和城市的数据对象data,其中省份作为键,城市数组作为值。
  2. 在页面加载完成后,我们使用$.each循环遍历data对象,将省份的选项动态添加到#province下拉菜单中。
  3. 当选择省份的下拉菜单的值发生变化时,触发change事件,并获取所选择的省份的值。
  4. 根据所选择的省份,在data对象中查找对应的城市数组,并使用$.each循环遍历,将城市的选项动态添加到#city下拉菜单中。
  5. 默认选择第一个省份,并立即触发change事件,以加载对应的城市选项。

总结

通过使用jQuery,我们可以轻松地实现下拉菜单的二级联动功能。以上示例代码可以作为参考,根据具体的需求进行调整和扩展。

希望本文对你理解和使用jQuery来实现二级联动有所帮助!