返回完成省市区县三......登陆

完成省市区县三级联动

phpcn_u887332018-12-02 12:41:07219
select{margin-left:10px;}
<div>
	<p class="auto_address">
		寄货地址:
		<select name="" id="pro">
			
		</select>
		<select name="" id="city">
			<option value="">--请选择市--</option>
		</select>
		<select name="" id="area">
			<option value="">--请选择区县--</option>
		</select>	
	</p>

	<p class="address">
		详细地址:<span class="pro"></span><span class="city"></span><span class="area"></span>
	</p>
</div>
//第一步 页面刷新获取省份
	$.getJSON('1.json',function(data){
		let option='<option value="">--请选择省--</option>';
		$.each(data,function(i){
			option += '<option value="'+data[i].proId+'">'+data[i].proName+'</option>';
		});
		$('#pro').html(option);
	});
	//当省份发生变化时
	$('#pro').change(function(){
		let proId = $(this).val();//获取当前选择的省份ID
		if(proId!=''){//如果选择了有效的省份
			$('.address .pro').replaceWith('<span class="pro">'+$(this).find(':selected').text()+"</span>");//把选择的省份实时更新到页面中,这里采用替换,避免重复显示
			//当省份发生改变时,立即把后面的城市、区县设为空
			$('.address .city').text('');
			$('.address .area').text('');
			$.getJSON('2.json',function(data){

				let option='<option value="">--请选择市--</option>';

				$.each(data,function(i){
					if(proId==data[i].proId){
						option += '<option value="'+data[i].cityId+'">'+data[i].cityName+'</option>';
					}	
				});
				$('#city').html(option);
				
			});
		}else{//如果省份选择了  --请选择-- 这个默认选项,那么城市、区县就做同样的选择,并把实时更新的元素设为空
			$(this).next().find('option[value=""]').attr("selected","selected").parent().next().find('option[value=""]').attr("selected","selected");
			$('.address .pro').text('');
			$('.address .city').text('');
			$('.address .area').text('');
		}
	});
	$('#city').change(function(){
		let cityId = $(this).val();//获取变动的城市ID
		if(cityId!=''){//如果选择了有效的城市
			$('.address .city').replaceWith('<span class="city">'+$(this).find(':selected').text()+"</span>");
			//立即把后面的区县设为空
			$('.address .area').text('');
			$.getJSON('3.json',function(data){

				let option='<option value="">--请选择区县--</option>';

				$.each(data,function(i){
					if(cityId==data[i].cityId){
						option += '<option value="'+data[i].areaId+'">'+data[i].areaName+'</option>';
					}	
				});
				$('#area').html(option);
				
			});
		}else{
			//没有选择城市 那么地址的城市、区县设为空
			$('.address .city').text('');			
			$('.address .area').text('');
			//并让区县选中默认选项 --请选择--
			$(this).next().find('option[value=""]').attr("selected","selected");
		}
	});
	$('#area').change(function(){//区县发生变化,把地址更新
		let areaId = $(this).val();
		if(areaId!=''){
			$('.address .area').replaceWith('<span class="area">'+$(this).find(':selected').text()+"</span>");
		}else{
			$('.address .area').text('');
		}
	})

QQ图片20181114103819.png


最新手记推荐

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

全部回复(0)我要回复

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