本文介绍如何使用 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>
希望上述代码能对大家有所帮助。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。