本文介绍了在JavaScript中实现城市级联菜单的两种常见方式。第一种方法利用switch语句根据省份ID进行分支判断,动态更新城市列表;第二种方法通过定义对象数组存储省份与城市的映射关系,利用if条件判断提取对应数据。两种方案均涉及DOM元素的获取与选项的动态增删,适用于基础的前端交互场景。
城市级联菜单实现概述
本文分享了使用JavaScript实现城市级联菜单的具体代码示例,供读者参考。
基于Switch语句的判断方法
第一种实现思路是采用switch语句进行条件判断。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function changeCity() {
var x=['牛奶','豆浆','油条'];
console.log(x.join(','));
var y=[33,22,66,12];
console.log(y.sort());
//如果选择的是河南 在城市中: 洛阳 ,驻马店
//如果选择的是河北 在城市中: 石家庄 ,保定
var province = document.getElementById('selProvince');
var city = document.getElementById('selCity');
//在添加城市前,先清空上一次添加的城市
city.length = 1;
switch (province.value) {
case '河南省':
var op1 = new Option('洛阳', '洛阳');
var op2 = new Option('驻马店', '驻马店');
city.add(op1, null);
city.add(op2, null);
break;
case '河北省':
var op1 = new Option('石家庄', '石家庄');
var op2 = new Option('保定', '保定');
city.add(op1, null);
city.add(op2, null);
break;
}
}
</script>
</head>
<body>
<form action="" name="myform">
<select id="selProvince" onchange="changeCity( )">
<option>--选择省份--</option>
<option value="河南省">河南省</option>
<option value="河北省">河北省</option>
</select>
<select id="selCity">
<option>--选择城市--</option>
</select>
</form>
</body>
</html>
基于If语句的判断方法
第二种实现思路则是利用if语句进行逻辑判断。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function chagecity() {
var citylist = [];
citylist['四川省'] = ['成都市', '郫都区'];
citylist['广东省'] = ['深圳市', '东莞市'];
var provinceV = document.getElementById("province").value;
var city = document.getElementById("city");
city.length = 1; //清除当前city中的选项
// for (var i in citylist){
// if (i == provinceV){
// for (var j in citylist[i]){
// citylist.add(new Option(citylist[i][j],citylist[i][j]),null);
// }
// }
// }
for (var i in citylist) {
if (i == provinceV) {//判断i是不是等于province中的值
for (var j in citylist[i]) {//遍历citylist数组
var op = new Option(citylist[i][j], citylist[i][j]);//把定义好的数据添加到city中
city.add(op, null);
}
}
}
}
</script>
</head>
<body>
<form action="">
<select name="" id="province" onchange="chagecity()">
<option value="四川省">四川</option>
<option value="广东省">广东</option>
</select>
<select id="city">
<option value="选择城市">选择城市</option>
</select>
</form>
</body>
</html>
以上内容为本文的全部分享,希望能为读者的学习提供一定帮助,同时也欢迎读者继续支持本站。