返回Ajax se......登陆

Ajax select三级联动实例

小弟,抱着学习的心态,前来观摩2019-03-16 16:32:05237

HTML

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>ajax三级联动操作</title>
	<script src="http://code.jquery.com/jquery-3.1.1.js"></script>
</head>
<body>
省:<select id="pro"></select> 市:<select id="city"></select> 区\县:<select id="area"></select>
<hr>
<span id="one"></span> <span id="two"></span> <span id="three"></span>
</body>
</html>
<script type="text/javascript">

	$(document).ready(function(){

		// 加载pro.json的数据, 并使用$.each('遍历的数据','遍历的键或者值function(k,v)')遍历拼装option加入select元素内
		$.getJSON('pro.json', function(pro){
			// console.log(pro)
			let option = '<option value="">请选择</option>';
			$.each(pro, function(k){
				option += '<option value="'+pro[k].proId+'">'+pro[k].proName+'</option>';
			});
			$('#pro').html(option);
		});

		/* 当id为pro改变是触发
			循环判断city.proId的值是否等于上一级的proId的值  	
		*/
		$('#pro').change(function(){
			$.getJSON('city.json', function(city){
				let option = '<option value="">请选择</option>';
				$.each(city, function(k){
					if(city[k].proId == $('#pro').val()){
						option += '<option value="'+city[k].cityId+'">'+city[k].city+'</option>';
					}
				});
				$('#city').html(option);
			});
			let name1 =  $(this).find(':selected').text();
			$('#one').text(name1);
		});

		$('#city').change(function(){
			$.getJSON('area.json', function(area){
				let option = '<option value="">请选择</option>';
				$.each(area, function(k){
					if(area[k].cityId == $('#city').val()){
						option += '<option value="'+area[k].areaId+'">'+area[k].area+'</option>';
					}
				});
				$('#area').html(option);
			});
			let name2 = $(this).find(':selected').text();
			$('#two').html(name2);
		});

		$('#area').change(function(){
			let name3 = $(this).find(':selected').text();
			$('#three').html(name3);
		});
	});
</script>

pro.json

[
	{"proId" : 1, "proName" : "广东"},

	{"proId" : 2, "proName" : "广西"}
]

city.json

[
	{"proId" : 1, "cityId" : 1, "city" : "深圳市"},	

	{"proId" : 1, "cityId" : 2, "city" : "广州市"},	

	{"proId" : 2, "cityId" : 3, "city" : "南宁市"},	

	{"proId" : 2, "cityId" : 4, "city" : "柳州市"}

]

area.json

[
	{"cityId" : 1, "areaId" : 1, "area" : "罗湖区"},

	{"cityId" : 1, "areaId" : 2, "area" : "福田区"},

	{"cityId" : 1, "areaId" : 3, "area" : "南山区"},

	{"cityId" : 2, "areaId" : 4, "area" : "天河区"},

	{"cityId" : 2, "areaId" : 5, "area" : "荔湾区"},

	{"cityId" : 2, "areaId" : 6, "area" : "越秀区"},

	{"cityId" : 3, "areaId" : 7, "area" : "良庆区"},

	{"cityId" : 3, "areaId" : 8, "area" : "江南区"},

	{"cityId" : 4, "areaId" : 9, "area" : "融安县"},

	{"cityId" : 4, "areaId" : 10, "area" : "三江县"}
]


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送