用JS实现省市区三级联动 (数据从数据库查出)
来源:互联网 发布:假丝绸出口数据 编辑:程序博客网 时间:2024/06/07 04:41
页面部分代码:
<div class="col-md-6"> <div class="form-group"> <label class="control-label col-md-3">所在省</label> <div class="col-md-9"> <select name="province" required id="province" class="form-control" onclick="chooseMarket();"> <option selected value="">选择所在的省份</option> <c:forEach var="item" items="${provinces}" varStatus="status"> <option value="${item.name}">${item.name}</option> </c:forEach> </select> </div> </div> </div> <div class="col-md-6"> <div class="form-group"> <label class="control-label col-md-3">所在市</label> <div class="col-md-9"> <select id="market" name="city" required class="form-control" onclick="chooseArea();" > <option selected value="">请选择所在的市</option> </select> </div> </div> </div> <div class="col-md-6"> <div class="form-group"> <label class="control-label col-md-3">所在区/县</label> <div class="col-md-9"> <select name="county" required id="area" class="form-control"> <option selected value="">请选择所在的区/县</option> </select> </div> </div> </div>
后台查询数据 前台用js遍历(js追加option,并实现联动效果)
JS部分代码:
function chooseMarket() { var options=$("#province option:selected"); if(options.text()!="选择所在的省份"){ $.post("/city/chooseMarket",{"name":options.val()},function (data) { for(var i=0; i<data.length; i++){ $("#market").append('<option value="' + data[i].name + '">' + data[i].name + '</option>') }; var name=data[0].name; defaultNext(name); }); } $("#market").empty(); $("#area").empty(); } function chooseArea() { var options=$("#market option:selected"); if(options.text()!="请选择所在的市"){ $.post("/city/chooseArea",{"name":options.val()},function (data) { for(var i=0; i<data.length; i++){ $("#area").append('<option value="' + data[i].name + '">' + data[i].name + '</option>') }; }); } $("#area").empty(); } function defaultNext(name) { $.post("/city/defaultNext",{"name":name},function (data) { for(var i=0; i<data.length; i++){ $("#area").append('<option value="' + data[i].name + '">' + data[i].name + '</option>') }; }); $("#area").empty(); }
后台部分代码:
@RequestMapping(value = "/chooseMarket") @ResponseBody public List<City> chooseMarket(HttpServletRequest request,@RequestParam String name){ ParamMap paramMap=new ParamMap(request); paramMap.put("parentId", cityService.selectByName(name).getId()); return cityService.chooseNext(paramMap); } @RequestMapping(value = "/chooseArea") @ResponseBody public List<City> chooseArea(HttpServletRequest request,@RequestParam String name){ ParamMap paramMap=new ParamMap(request); paramMap.put("parentId", cityService.selectByName(name).getId()); return cityService.chooseNext(paramMap); } @RequestMapping(value = "/defaultNext") @ResponseBody public List<City> defaultNext(HttpServletRequest request,@RequestParam String name){ ParamMap paramMap=new ParamMap(request); paramMap.put("parentId", cityService.selectByName(name).getId()); return cityService.chooseNext(paramMap); }
可以实现的效果,如图
0 0
- 用JS实现省市区三级联动 (数据从数据库查出)
- js实现省市区三级联动
- js实现省市区三级联动
- 省市区 三级联动 js 实现
- js实现省市区三级联动
- JS实现省市区三级联动
- 省市区三级联动 数据库取数据js代码
- js省市区三级联动
- js省市区三级联动
- JS省市区三级联动
- 原生JS实现省市区(县)三级联动选择
- js实现省市区三级联动select
- 实现省市区三级联动js插件
- 用DropDownList控件绑定XML数据实现省市区三级联动
- 用DropDownList控件绑定XML数据实现省市区三级联动
- 实现省市区三级联动
- js 省市区三级(二级)联动
- 省市区三级联动菜单(附数据库)
- 第三届PHP全球开发者大会2017让我们从高可用角度,继续探讨和学习!
- 远程连接服务器
- 获取url中的参数值
- 录音文件保存失败
- jquery eazyUI的下拉树异步实现
- 用JS实现省市区三级联动 (数据从数据库查出)
- JMS + ActiveMQ 简单的demo
- [leetcode] 390. Elimination Game
- 安卓中GridView填充简单的文字和图片,笔记!
- python的取整函数:向上取整,向下取整,四舍五入取整
- Dubbo实现RPC调用使用入门
- 导出有索引大表的步骤(sql方法)。
- Java多线程综述
- Python 多层装饰器