市/区县/乡镇街道/村社区四级联动(含陕西省数据JS)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

市/区县/乡镇街道/村社区四级联动(含陕西省数据JS)

一、js文件引入
<script src="${ctxStatic}/skines/js/region.js"></script>
二、代码实现
<tr>
			<td ><lable>所在地址:</lable></td>
			<td colspan="3">
				市:<select name="city" id="city" style="width: 150px" class="required"></select>/县:<select name="county" id="county" style="width: 150px" class="required"></select>
				街道/乡镇:<select name="town" id="town" style="width: 150px" class="required"></select>
				社区//合作社:<select name="address" id="address" style="width: 150px"></select>
				<script type="text/javascript">
					var data = obj.regions;
					var city=document.getElementById('city');
					var county=document.getElementById('county');
					var town=document.getElementById('town');
					var address=document.getElementById('address');
					var option = "<option value='请选择'>请选择</option>";
					city.innerHTML = option;
					county.innerHTML = option;
					town.innerHTML = option;
					address.innerHTML = option;
					// 生成市列表
					for(var i=0;i<data.length;i++){
						var option_city=document.createElement('option');
						option_city.value=data[i].name;
						option_city.innerText=data[i].name;
						city.appendChild(option_city);
					}
					// 根据选择的市生成相应的区县列表
					city.onchange=function(e){
						for(var i=0;i<data.length;i++){
							if(data[i].name == e.target.value){
								var data_county=data[i].regions;
								var option_county=data_county.map(function(item){
									return '<option value="' + item.name+ '">' +item.name+'</option>'
								}).join('');
								// 根据选择的区县生成相应的街道、乡镇列表
								county.onchange=function(evt){
									for(var j=0;j<data_county.length;j++){
										if(data_county[j].name == evt.target.value){
											var data_town=data_county[j].regions;
											var option_count=data_town.map(function(items){
												return '<option value="' + items.name+ '">' +items.name+'</option>'
											}).join('');
											town.onchange=function (ec){
												for (var m=0;m<data_town.length;m++){
													if (data_town[m].name ==ec.target.value){
														var data_address=data_town[m].regions;
														var option_coun=data_address.map(function (item1){
															return '<option value="' + item1.name+ '">' +item1.name+'</option>'
														}).join('');
													}
												}
												address.innerHTML="<option value='请选择'>请选择</option>"+option_coun;
											}
										}
									}
									town.innerHTML="<option value='请选择'>请选择</option>"+option_count;
								}
							}
						}
						county.innerHTML="<option value='请选择'>请选择</option>"+option_county;
						town.innerHTML="<option value='请选择'>请选择</option>"
						address.innerHTML="<option value='请选择'>请选择</option>"
					}
				</script>
			</td>
		</tr>
三、实现效果

四、陕西省数据JS文件

下载链接:
点击下载
提取码:
qib0
其他省份数据(国家统计局):
数据链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue省街道四级联动是通过使用JavaScript来实现的。在实现这个功能之前,我们首先需要准备一些数据。通常情况下,我们可以在数据库中或者通过网络请求获取到省街道数据,然后将这些数据存储在Vue的data对象中。 数据方面,我们可以定义一个包省、、区和街道的四个数组,每个数组包相应级别的数据,同时还需要定义一些变量来保存用户选择的省、、区和街道。在页面上,我们可以通过使用Vue的v-for指令来遍历这些数据,并生成相应的下拉框。 当用户选择了省份之后,我们需要根据用户选择的省份过滤出对应的数据,并将这些数据放入区的下拉框中。同样地,当用户选择区后,我们需要根据用户选择区来过滤出对应的区县数据,并将这些数据放入区县的下拉框中。最后,当用户选择区县后,我们根据用户选择区县来过滤出对应的街道数据,并将这些数据放入街道的下拉框中。 为了实现上述功能,我们需要使用Vue的v-on指令来监听每个下拉框的change事件,然后在事件处理函数中进行对应的数据过滤和赋值操作。具体过滤的方法可以使用JavaScript的数组的filter方法,根据用户选择的省、、区来过滤出对应的数据。最后,我们可以使用v-model指令将用户选择的值与相应的变量进行绑定,以便后续的处理和提交操作。 综上所述,通过Vue和JavaScript的配合,我们可以实现一个省街道四级联动的功能,使用户能够方便地选择对应的区域和街道。这个功能在很多网页表单中都有应用,可以提供更好的用户体验和数据的准确性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值