所属省份:
<select id="pCode" onchange="two()">
<option selected disabled>请选择</option>
<option th:each="province:${provinceList}" th:value="${province.code}" th:text="${province.name}">
</option>
</select>
所属城市:
<select id="cCode" onchange="three()">
<option selected disabled>请选择</option>
</select>
所属区县:
<select id="tCode">
<option selected disabled>请选择</option>
</select>
@RequestMapping("/threeLevelLinkers")
public String getAllCity(Model model){
//查询所有省份
List<Province> provinceList = provinceService.list();
model.addAttribute("provinceList",provinceList);
return "list";
}
}
第二个下拉框查询我们设立一个点击事件,点击时调用函数进入ajax
function two() {
//获取城市编码
var pcode = $("#pCode option:selected").val();
$.ajax({
//url
url:'/citys/two/'+pcode,
//参数
// data:{},
//请求类型
type:'get',
//响应体结果格式
dataType:'json',
//成功回调
success:function (data){
//清空节点
$('#cCode').empty();
$("#tCode").empty()
$("#cCode").append("<option>请选择</option>")
// $('#cCode').append("<option th:value='0'>请选择</option>>")
for (let i = 0; i <data.length ; i++) {
console.log(data[i].name)
$('#cCode').append("<option value='"+data[i].code+"'>"+data[i].name+"</option>>")
}
},
error:function (){
console.log('出错啦!')
}
}
)
}
然后根据ajax路径带参数省份编码跳转到controller
@Controller
@RequestMapping("/citys")
public class CityController {
@Autowired
private CityService cityService;
@ResponseBody
@RequestMapping("/two/{code}")
public List<City> two( @PathVariable("code")String code){
LambdaUpdateWrapper<City> wrapper=new LambdaUpdateWrapper<>();
wrapper.eq(City::getProvincecode,code);
List<City> cityByProvinceCode = cityService.list(wrapper);
return cityByProvinceCode;
}
}
这里用mp查询,根据省份编码查询城市,@ResponseBody把对象返回
$('#cCode').empty();
$("#tCode").empty()
for (let i = 0; i <data.length ; i++) {
console.log(data[i].name)
$('#cCode').append("<option value='"+data[i].code+"'>"+data[i].name+"</option>>")
}
第三级查询也一样,第三个下拉框查询我们设立一个点击事件,点击时调用函数进入ajax
function three() {
var cCode=$("#cCode option:selected").val()
$.ajax({
url: '/towns/three/'+cCode,
dataType: 'json',
type: 'get',
success:function (data) {
$("#tCode").empty()
$("#tCode").append("<option>请选择</option>")
for (let i = 0; i <data.length ; i++) {
$("#tCode").append("<option >"+data[i].name+"</option>")
}
}
})
}
然后根据ajax路径带参数省份编码跳转到controller
@Controller
@RequestMapping("/towns")
public class TownController {
@Autowired
private TownService townService;
@ResponseBody
@RequestMapping("/three/{code}")
public List<Town> three(@PathVariable("code")String code){
LambdaUpdateWrapper<Town> wrapper=new LambdaUpdateWrapper<>();
wrapper.eq(Town::getCitycode,code);
List<Town> cityByCityCode = townService.list(wrapper);
return cityByCityCode;
}
}
这里用mp查询,根据城市编码查询区县,@ResponseBody把对象返回
$("#tCode").empty()
for (let i = 0; i <data.length ; i++) {
$("#tCode").append("<option >"+data[i].name+"</option>")
}
原文地址:https://blog.csdn.net/xcj2437/article/details/127997885
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_22238.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。