JavaScript实现省市区三级联动


Posted in Javascript onFebruary 13, 2020

本文实例为大家分享了JavaScript实现省市区三级联动的具体代码,供大家参考,具体内容如下

首先是js

$(document).ready(function(){
 getErpMarketByParentCode(0,'province',province);
 getErpMarketByParentCode(province,'city',city);
 getErpMarketByParentCode(city,'area',area);
 getErpMarketByParentCode(area,'market',market);
 $('#city').append($('<option>').val('').html('-请选择-')).val('');
 $('#area').append($('<option>').val('').html('-请选择-')).val('');
 if($('#market')){
 $('#market').append($('<option>').val('').html('-请选择-')).val('');
 }
 $('#province').change(function(){
 if($(this).val() == ''){ // 请选择
  $('#city').empty();
  $('#area').empty();
  $('#city').append($('<option>').val('').html('-请选择-')).val('');
  $('#area').append($('<option>').val('').html('-请选择-')).val('');
  if($('#market')){
  $('#market').empty();
  $('#market').append($('<option>').val('').html('-请选择-')).val('');
  }
  return;
 }
 getErpMarketByParentCode($(this).val(),'city');
 $('#area').empty();
 $('#area').append($('<option>').val('').html('-请选择-')).val('');
 });
 
 $('#city').change(function(){
 getErpMarketByParentCode($(this).val(),'area');
 if($('#market')){
  $('#market').empty();
  $('#market').append($('<option>').val('').html('-请选择-')).val('');
 }
 });
 
 $('#area').change(function(){
 getErpMarketByParentCode($(this).val(),'market');
 });
});
 
function getErpMarketByParentCode(parentCode, id, value){
 $.ajax({  
   url:'/getErpMarketByParentCode',  
   type:'post',  
   data:{
   code:parentCode
   },  
   dataType : 'json',
   error:function(){  
    alert('error');  
   },  
   success:function(data){  
    var select = $('#' + id);
    if(select){
     select.empty();
    select.append($('<option>').val('').html('-请选择-'));
    $.each(data.erpMarketList,function(i, erpMarket){
     select.append($('<option>').val(erpMarket.code).html(erpMarket.name));
    });
    select.val(value);
    }
   }
 });
}

然后是后台方法

@RequestMapping(value = "/getErpMarketByParentCode")
 public ModelAndView getErpMarketByParentCode(HttpServletRequest request, HttpServletResponse response) throws Exception {
 String code = request.getParameter("code");
 List<ErpMarket> erpMarketList = erpMarketService.getErpMarketListByParentCode(code);
 JSONObject jsonObject = new JSONObject();
 jsonObject.put("erpMarketList",erpMarketList);
 response.getWriter().write(jsonObject.toString());
 return null;
 }

service方法,是从内从中获取省市区这张表

public List<ErpMarket> getErpMarketListByParentCode(String parentCode){
 Hashtable erpMarketTable = LoadOnStartService.erpMarketTable;//从内存中获取这张表
 List<ErpMarket> erpMarketList = new ArrayList<ErpMarket>();
 Iterator its = erpMarketTable.keySet().iterator();
 while(its.hasNext()){
  String key = Util.getString(its.next());
  ErpMarket erpMarket = (ErpMarket)erpMarketTable.get(key);
  if(parentCode.equals(erpMarket.getParentCode())){
  erpMarketList.add(erpMarket);
  }
 }
 return erpMarketList;
 }

省市区的实体类

package com.erp.entity;
 
/**
 * ErpMarket entity.
 * 
 * @author MyEclipse Persistence Tools
 */
 
public class ErpMarket implements java.io.Serializable {
 
 // Fields
 
 private String code;
 private String shortCode;
 private String name;
 private String level;
 private String parentCode;
 
 // Constructors
 
 /** default constructor */
 public ErpMarket() {
 }
 
 /** full constructor */
 public ErpMarket(String shortCode, String name, String level, String parentCode) {
 this.shortCode = shortCode;
 this.name = name;
 this.level = level;
 this.parentCode = parentCode;
 }
 
 // Property accessors
 
 public String getCode() {
 return this.code;
 }
 
 public void setCode(String code) {
 this.code = code;
 }
 
 public String getShortCode() {
 return this.shortCode;
 }
 
 public void setShortCode(String shortCode) {
 this.shortCode = shortCode;
 }
 
 public String getName() {
 return this.name;
 }
 
 public void setName(String name) {
 this.name = name;
 }
 
 public String getLevel() {
 return this.level;
 }
 
 public void setLevel(String level) {
 this.level = level;
 }
 
 public String getParentCode() {
 return this.parentCode;
 }
 
 public void setParentCode(String parentCode) {
 this.parentCode = parentCode;
 }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
JavaScript创建类/对象的几种方式概述及实例
May 06 Javascript
js中return false(阻止)的用法
Aug 14 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
Jul 27 Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 Javascript
AngularJS中controller控制器继承的使用方法
Nov 03 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
Dec 28 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
Feb 24 Javascript
详解js常用分割取字符串的方法
May 15 Javascript
javascript 设计模式之组合模式原理与应用详解
Apr 08 Javascript
JavaScript中作用域链的概念及用途讲解
Aug 06 Javascript
详解JS WebSocket断开原因和心跳机制
May 07 Javascript
jquery传参及获取方式(两种方式)
Feb 13 #jQuery
JS实现页面数据懒加载
Feb 13 #Javascript
node.js中fs文件系统模块的使用方法实例详解
Feb 13 #Javascript
原生JS与JQ获取元素的区别详解
Feb 13 #Javascript
node.js中path路径模块的使用方法实例分析
Feb 13 #Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
Feb 13 #Javascript
JavaScript 中的无穷数(Infinity)详解
Feb 13 #Javascript
You might like
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
ajax 的post方法实例(带循环)
2011/07/04 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
Ionic快速安装教程
2016/06/03 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
详解Python中的文件操作
2016/08/28 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
python实现统计代码行数的小工具
2019/09/19 Python
Python分类测试代码实例汇总
2020/07/23 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
pycharm实现猜数游戏
2020/12/07 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
ORACLE十问
2015/04/20 面试题
会展中心部门工作职责
2013/11/27 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
人民教师求职自荐信
2014/03/12 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
单位委托书范本
2014/04/04 职场文书
辅导员评语
2014/05/04 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
万能检讨书
2015/01/27 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL