Jason简单应用和城市级联

Jason

Jason英文全称JavaScript Object Notation
JSON是一种轻量级的数据交换格式
JSON是独立语言
JSON易于理解
JSON使用JavaScript语法,但是JSON格式仅仅是一个文本,文本可以被任何编程语言读取及作为数据格式传递

JSON的作用

JSON是用于存储和传输数据的格式
JSON通常用于服务端向网页传递数据

JSON语法规则

语法:var 变量名=[{“属性1”:“值1”}…,{“属性n”:“值n”}]
数据为键/值对
数据由逗号分隔
大括号保存对象
方括号保存数组

JSON格式如何取值

获取单个存储对象的值:

var arr1 = {
"name":"杨","age":20
};
//获取JSON数据的方式2种:
console.log(arr1.name);//使用.的方式来获取
console.log(arr1["name"]);//使用数组下标的方式

获取数组存储对象的值:

var arr2 = [
{
"name":"李","age":20
},
{
"name":"赵欢","age":21
}
];
//获取值
console.log(arr2);
console.log(arr2[1].name);

JSON的案例:

省市级联

Select options集合
options 是select对象下面所有option的集合/数组
options 的属性:
length:返回集合的option元素数目,当length等于0的时候,作用就是清空所有的option标签
selectedIndex:设置或者返回select对象已选选项的索引值

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
	select{
		width: 150px;
	font-size: 16px;
	}
</style>
<script>
	function $(id){
		return document.getElementById(id);
	}
	window.onload=function(){
	//获取DOM对象
	var oprovince = $('province');
	var ocity = $('city');
	//定义省份和城市的JSON数据类型定义
	var datas = [{
		"province":"湖北省","citys":["武汉市","襄阳市","枣阳市"]
	},
		{
		"province":"甘肃省","citys":["兰州市","天水市","定西市"]
		},
		{
		"province":"海南省","citys":["海口市","三亚市","文昌市"]
		}
		];
		//先获取省份,放到下拉框里
		for(var i=0;i<datas.length;i++){
		//console.log(datas[i].province);
			var op = document.createElement("option");
			op.innerHTML = datas[i].province;
			op.value = datas[i].province;
			oprovince.appendChild(op);
		}
	//获取城市
	//先获取湖北省的城市
	var defaultCity = datas[0].citys;
	//console.log(defaultCity);
	for(var i=0;i<defaultCity.length;i++){
		var op = document.createElement("option");
		op.innerHTML = defaultCity[i];
		op.value = defaultCity[i];
		ocity.appendChild(op);
	}
//当切换省份的时候,城市要跟着变化,绑定onchange事件
	oprovince.onchange=function(){
		/*
		* 思路:
		1、清空之前的城市列表
		2、不清楚我选择的是哪个省份
		* */
		//options属性:是select对象下面所有option的集合/数组
		//optoins有个属性,叫length:当length等于0的时候,
		//作用就是清空所有的option标签,全部删掉。
	ocity.options.length=0;
	//清空完之后,在放别的省份的城市
	//console.log(oprovince.selectedIndex);
	/*
	selectedIndex:设置或获取当前选中的选项的索引。
	下拉框的选项索引从0开始。
	* */
	var selectedCitys =
	datas[oprovince.selectedIndex].citys;
	for(var i=0;i<selectedCitys.length;i++){
		var op = document.createElement("option");
		op.innerHTML = selectedCitys[i];
		op.value = selectedCitys[i];
		ocity.appendChild(op);
		}
	}
}
</script>
</head>
<body>
	<select id="province"></select>
	<select id="city"></select>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值