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>
希望上述代码能对大家有所帮助。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
作者最新文章
JavaScript零基础入门:从环境搭建到运行第一段代码
2026-11-05 15:29:58
HTML链接中javascript:void(0)的作用及现代替代方案
2026-11-05 10:07:47
在线调试 JS 时怎么引入 jQuery 或 Vue 等第三方库
2026-11-05 08:53:56
原生JavaScript实现简易颜色选择器原理与代码
2026-11-03 23:22:19
JS原生表单序列化:FormData与URLSearchParams用法详解
2026-11-03 23:13:21
