使用JSON方式实现省市级联效果(JavaScript)
1. 任务要求1)理解JSON的概念;2)掌握JSON对象的定义以及使用;3)如何使用JSON存储城市信息;4)如何页面加载时,遍历JSON数据,并将JSON数据渲染到页面;5)如何使用JSON实现下拉框联动。2. 需求说明制作如下图所示的页面,页面加载时第一个下拉框显示所有的省的信息,当第一个下拉框选择数据后,第二个下拉框中显示对应省份的城市数据。3. 实现思路...
·
1. 任务要求
1)理解JSON的概念;
2)掌握JSON对象的定义以及使用;
3)如何使用JSON存储城市信息;
4)如何页面加载时,遍历JSON数据,并将JSON数据渲染到页面;
5)如何使用JSON实现下拉框联动。
2. 需求说明
制作如下图所示的页面,页面加载时第一个下拉框显示所有的省的信息,当第一个下拉框选择数据后,第二个下拉框中显示对应省份的城市数据。
3. 实现思路
1)设计静态页面;
2)使用JSON存储省市信息;
3)页面加载时,遍历JSON数据,并将JSON数据渲染到页面。
4. 实现代码(JS)
1)首先创建一个省市的数组
2)show()函数里实现下拉功能,显现各个省的信息
3)loadCity()函数得先清空下拉框选择,不然会一直增加数据。
4)在loadCity()函数里设置一个for循环找到省所对应的市。
// JavaScript Document
var city = [
{"name":"广东省","info":['广州市','深圳市','佛山市', '珠海市']},
{"name":"四川省","info":['成都市','德阳市','绵阳市','广元市']},
{"name":"云南省","info":['昆明市','大理市','丽江市']},
{"name":"贵州省","info":['贵阳市','遵义市']}
];
function show(){
for (var i in city){
document.getElementById("province").innerHTML+="<option>"+city[i].name+"</option>";
}
}
function loadCity(){
/* 1、这个使选择省的时候,市直接跳出
document.getElementById("city").innerHTML="--请选择--"; */
// 2、这个使选择省的时候,不会直接跳出市,而是请选择
document.getElementById("city").options.length=0;//清空下拉框选项
document.getElementById("city").add(new Option("--请选择--"));
var province=document.getElementById("province").value;
for (var i in city){
if (city[i].name==province){
var citys=city[i].info;
for (var j in citys){
document.getElementById("city").innerHTML+="<option>"+citys[j]+"</option>"
}
}
}
}
5. 运行结果
6. 其他代码(.html)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSON实现省市级联</title>
<script src="js/provinceCityJSON.js"></script>
</head>
<style type="text/css">
select
{
width: 100px;
text-align: center;
margin: 5px;
align-content: center;
margin-top: 30px;
background-color: #D9FFDC;
}
</style>
<body onLoad="show()">
<form>
<center>
省份:<select name=" province" id="province" onchange="loadCity()" required>
<option>--请选择--</option>
</select>
城市:<select name="city" id="city" required>
<option>--请选择--</option>
</select>
</center>
</form>
</body>
</html>
更多推荐
已为社区贡献4条内容
所有评论(0)