JavaScript 实现省份城市二级联动下拉菜单

作者:微光时间:2026-10-23 14:23:04浏览:428

本文介绍如何使用 JavaScript 实现简单的二级联动下拉菜单。通过定义固定的一级省份列表,利用二维数组存储对应的城市数据,并在一级菜单的 onchange 事件中动态更新二级菜单选项。代码包含 HTML 结构、数组定义及动态加载逻辑,适用于基础前端开发学习。

JavaScript 二级联动下拉菜单实现

本文分享了一个使用 JavaScript 实现二级联动的具体代码示例,供读者参考。

该示例展示了一个基础的二级联动功能:第一个下拉列表的选项是固定的,而第二个下拉列表的内容会根据第一个列表的选择动态变化,即一级菜单的值决定二级菜单的显示内容。

实现逻辑如下:首先创建两个 <select> 标签,并通过 name 或 id 属性进行区分;接着使用一个二维数组来存储省份与城市的对应关系;最后,在一级菜单中绑定 onchange 事件,用于动态加载并更新二级菜单的选项内容。

完整代码实现如下。


<html>
 <head>
 <meta charset="UTF-8">
 <title>简单城市二级联动</title>
 </head>
 <body>
 <form action="" method="post" name="form1">
  <div id="province">
  <select name="sltProvince" οnchange="selectCity()">
   <option value="">请选择省份</option>
   <option value="">山西省</option>
   <option value="">陕西省</option>
   <option value="">江西省</option>
   <option value="">四川省</option>
  </select>
  </div>
  <div id="city">
  <select name="sltCity">
   <option value="0">请选择市区</option>
  </select>
  </div>
 </form>
 </body>
 <script type="text/javascript" language="javascript">
 var cityInfo = [["请选择市区","太原市","吕梁市","临汾市","运城市","阳泉市"],
         ["请选择市区","西安市","咸阳市","汉中市","延安市","榆林市"],
         ["请选择市区","南昌市","九江市","鹰潭市","上饶市","景德镇市"],
         ["请选择市区","成都市","绵阳市","雅安市","乐山市","眉山市"]];
 
 /*二级联动一般使用onchange事件*/
 function selectCity(){
  /*获取省份下拉框的对象*/
  var pro = document.form1.sltProvince;
  /*获取市区下拉框的对象*/
  var cit = document.form1.sltCity;
  /*得到对应得城市数组,selectedIndex表示下拉框列表的索引值*/
  var selectParam = cityInfo[pro.selectedIndex-1];
  /*将城市列表的选项只留下第一个提示选项*/
  cit.length = 1;
  for(var i=0;i<selectParam.length;i++){
    /*第一个selectParam[i]表示城市option中的value值,第二个selectParam[i]表示文本信息*/
    cit[i] = new Option(selectParam[i],selectParam[i]);
  }
 }
 </script>
</html>

希望上述代码能对大家有所帮助。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章