使用JQ+JS中的高级数组实现下拉列表框(select)的省市联动
作者:互联网
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>级联菜单</title>
<script src="../js/jquery.js"></script>
<script src="../js/jquery-1.8.3.min.js"></script>
</head>
<body>
<select name="" id="a">
<option value="请选择/省市">请选择/省市</option>
</select><select name="" id="b">
<option value="请选择/城市">请选择/城市</option>
</select>
</body>
<script>
$(document).ready(function () {
//首先声明一个高级数组
let cityList = new Array();
cityList['北京市'] = ['朝阳区','东城区','西城区', '海淀区','宣武区','丰台区','怀柔','延庆','房山'];
cityList['上海市'] = ['宝山区','长宁区','丰贤区', '虹口区','黄浦区','青浦区','南汇区','徐汇区','卢湾区'];
cityList['广州省'] = ['广州市','惠州市','汕头市','珠海市','佛山市','中山市','东莞市'];
cityList['深圳市'] = ['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'];
cityList['重庆市'] = ['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'];
cityList['天津市'] = ['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'];
cityList['江苏省'] = ['南京市','苏州市','无锡市'];
cityList['浙江省'] = ['杭州市','宁波市','温州市'];
cityList['四川省'] = ['四川省','成都市'];
cityList['海南省'] = ['海口市'];
cityList['福建省'] = ['福州市','厦门市','泉州市','漳州市'];
cityList['山东省'] = ['济南市','青岛市','烟台市'];
cityList['江西省'] = ['江西省','南昌市'];
cityList['广西省'] = ['柳州市','南宁市'];
cityList['安徽省'] = ['安徽省','合肥市'];
cityList['河北省'] = ['邯郸市','石家庄市'];
cityList['河南省'] = ['郑州市','洛阳市','三门峡市','灵宝市','鹤壁市','安阳市','驻马店市','周口市','平顶山市','许昌市','开封市','新乡市'];
cityList['湖北省'] = ['武汉市','宜昌市'];
cityList['湖南省'] = ['湖南省','长沙市'];
cityList['陕西省'] = ['陕西省','西安市'];
cityList['山西省'] = ['山西省','太原市'];
cityList['黑龙江省'] = ['黑龙江省','哈尔滨市'];
cityList['其他'] = ['其他'];
//1.显示城市
$("#a").append(function () {//拼接到城市列表
var c="";//列表内容初始化
for (let i in cityList) {//使用增强for循环提取信息
c+="<option value="+i+">"+i+"</option>";
}
//返回拼接的结果
return $(c);
});
//2.根据根据省市信息获取城市信息
$("#a").change(function () {//在该选项改变时相应
var v=$(this).val();//获取改变后的val值
var c="";//列表内容初始化
if (v=="请选择/省市"){//判断城市列表是都为初始值
c+="<option>请选择城市/地区</option>";
$("#b").html(c);//改变城市列表内容
return;
}
//根据所获取的val值来选择相应的数组
var citys=cityList[v];
var c="";
for (let i=0; i<citys.length ; i++) {//数组循环遍历创建赋值
c+="<option value="+citys[i]+">"+citys[i]+"</option>";
}
$("#b").html(c);
})
})
</script>
</html>
该方法使用了高级数组相较于之前的方法更加简单便利易懂。
标签:function,列表框,cityList,val,JQ,列表,let,var,JS 来源: https://blog.csdn.net/ypf3442354429/article/details/122039879