用JavaScript实现省市联动

在平时如果注册QQ的话,选择地区会相应的出现该地区有哪些省市,这就需要用到数组,通过数组实现一个简单的联动。

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
  var cityarr=[                               //定义数组市
           ['石家庄市','唐山市','保定市'],
           ['郑州市','开封市','洛阳市'],
           ['长沙市','株洲市','衡阳市']
           ]
  function loadCity(index){
            var selCity=document.getElementById('myCity');
            for(var j=selCity.options.length-1;j>=1;j--){
             selCity.removeChild(selCity.options[j]);
           }
            city=cityarr[index];
             for(var i=0;i<city.length;i++){
var option=document.createElement('option');
option.innerHTML=city[i];
document.getElementById('myCity').appendChild(option);
   }
       }

</script>

</head>

<body>
<select name="" id="" οnchange="loadCity(this.value)">//下拉列表框
   <option value="">======省======</option>//省
<option value="0">河北省</option>
<option value="1" >河南省</option>
<option value="2">湖南省</option>
</select>
<select name="" id="myCity">
        <option value="">======市======</option>       
</select>
</body>
</html>
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring MVC是一种基于Java的Web开发框架,它提供了一种简单而灵活的方式来构建Web应用程序。实现省市联动是指在前端页面上选择省份后,根据选择的省份动态加载对应的城市信息。 下面是一种实现省市联动的方法: 1. 在前端页面上,使用HTML的<select>标签创建一个下拉框,用于选择省份。例如: ```html <select id="province" onchange="loadCities()"> <option value="1">北京</option> <option value="2">上海</option> ... </select> ``` 2. 在JavaScript中,编写一个函数`loadCities()`,该函数会在选择省份后被调用。该函数通过Ajax请求向后端发送选择的省份信息,并接收后端返回的城市信息。例如: ```javascript function loadCities() { var provinceId = document.getElementById("province").value; var xhr = new XMLHttpRequest(); xhr.open("GET", "/getCities?provinceId=" + provinceId, true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var cities = JSON.parse(xhr.responseText); // 根据返回的城市信息更新城市下拉框 updateCities(cities); } }; xhr.send(); } ``` 3. 在后端,创建一个Controller处理`/getCities`的请求,并根据传入的省份ID查询对应的城市信息。例如: ```java @Controller public class CityController { @Autowired private CityService cityService; @GetMapping("/getCities") @ResponseBody public List<City> getCities(@RequestParam("provinceId") int provinceId) { return cityService.getCitiesByProvinceId(provinceId); } } ``` 4. 在CityService中,根据省份ID查询对应的城市信息。例如: ```java @Service public class CityService { @Autowired private CityRepository cityRepository; public List<City> getCitiesByProvinceId(int provinceId) { return cityRepository.findByProvinceId(provinceId); } } ``` 5. 在CityRepository中,定义查询方法,根据省份ID查询对应的城市信息。例如: ```java public interface CityRepository extends JpaRepository<City, Integer> { List<City> findByProvinceId(int provinceId); } ``` 这样,当选择省份时,前端页面会发送Ajax请求到后端,后端根据省份ID查询对应的城市信息,并将城市信息返回给前端,前端再根据返回的城市信息更新城市下拉框。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值