Java框架SSH结合Easyui控件实现省市县三级联动示例解析


Posted in Javascript onJune 12, 2016

Easyui调用数据库实现省市县区三级联动的效果如果下

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

1、首先要设计数据库,如图所示。一个有4个字段code,note,pycode。code:行政区划代码,note:中文注释,pycode:拼音缩写。 其中code是由6个字段组成。如果是省级最后4位是0000,如果是地级市最后2位是00,其他是县区。 

我已经把相关数据库代码上传到我的csdn资源中,需要的同学自行下载。

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

2、我用的是java、SSH框架结合Easyui控件

3、html代码如下

<tr>                               
       <td class="left">省:</td>  
       <td><input name="contact.province" id="province" style="width: 174px;" ></td>     
       <td class="left">市:</td>          
       <td><input  name="contact.city" id="city" style="width: 174px;"></td>                       
       <td class="left">县区:</td>  
       <td><input name="contact.county" id="county" style="width: 174px;" ></td>
    </tr>

4、对应的JS代码如下

$(function(){
 
 // 下拉框选择控件,下拉框的内容是动态查询数据库信息
 $('#province').combobox({ 
    url:'apply/provinceCombobox_combobox.action',
    editable:false, //不可编辑状态
    cache: false,
   // panelHeight: 'auto',//自动高度适合
    valueField:'code',  
    textField:'note',
    
 onHidePanel: function(){

   $("#city").combobox("setValue",'');
   $("#county").combobox("setValue",'');
   $("#cregicounty").val('');
  var province = $('#province').combobox('getValue'); 
  if(province!=''){
  $.ajax({
  type: "POST",
  url: "apply/cityCombobox_combobox.action?province="+province,
  cache: false,
  dataType : "json",
  success: function(data){
  $("#city").combobox("loadData",data);
                 }
                }); 
              }
           } 
         }); 
 
 $('#city').combobox({ 

   editable:false, //不可编辑状态
   cache: false,
   //panelHeight: 'auto',//自动高度适合
   valueField:'code',  
   textField:'note',
   onHidePanel: function(){
   $("#cregicounty").val('');
   $("#county").combobox("setValue",'');
  var city = $('#city').combobox('getValue'); 
  if(city!=''){
  $.ajax({
  type: "POST",
  url: "apply/countyCombobox_combobox.action?city="+city,
  cache: false,
  dataType : "json",
  success: function(data){
  $("#county").combobox("loadData",data);
                 }
                }); 
              }
           }
  }); 
 $('#county').combobox({ 
   editable:false, //不可编辑状态
   cache: false,
  // panelHeight: 'auto',//自动高度适合
   valueField:'code',  
   textField:'note',
   onHidePanel: function(){
     var str=$('#county').combobox('getText');
   $("#cregicounty").val(str); 
           }
 }); 
 
  $('#country').combobox({//国家代码初始化 
 valueField:'english',  
   textField:'note',
   url:'json/country.json',
   cache: false,
  //panelHeight: 'auto',//自动高度适合
   onChange: function(newValue,oldValue){ 

   countrySearch(newValue);
   countrys(newValue);
   }
 });
});

5、Java的Action代码

//查询全国行政区代码省
 public String provinceCombobox() throws Exception{
 
 List list=comboboxService.findProvince();
 this.jsonUtil(list);
 return null;
 }
 
 //查询全国行政区代码市
 public String cityCombobox() throws Exception{
  
 List list=comboboxService.findCity(province);
 this.jsonUtil(list);
   return null;
 }
 
 //查询全国行政区代码县区
 public String countyCombobox() throws Exception{
 
 List list=comboboxService.findCounty(city);
 this.jsonUtil(list);
   return null;
 }
 
 
 //调用json工具方法,传入参数alist
 public void jsonUtil(Object accountlist) throws Exception{
  HttpServletResponse response = ServletActionContext.getResponse(); 
  log.info("JSON格式:" + accountlist.toString());
  
  String returnJson = JsonConvert.returnJson(accountlist);
  response.setCharacterEncoding("utf-8");
  response.getWriter().println(returnJson);
 }

6、工具JSON代码

import java.io.StringWriter;

import org.codehaus.jackson.map.ObjectMapper;

public class JsonConvert {
 static String jsonStr;
 public static String returnJson(Object object) throws Exception{
 ObjectMapper objectMapper = new ObjectMapper();
 StringWriter stringWriter = new StringWriter();
 objectMapper.writeValue(stringWriter, object);
 
 jsonStr = stringWriter.toString();
 return jsonStr;
 }
}

7、对应接口代码

//查询省
public List findProvince() throws Exception;
//查询市
public List findCity(String code) throws Exception;
//查询县区
public List findCounty(String code) throws Exception;

 8、对应接口实现类代码 

//下拉框--查询省
 public List findProvince() {
 log.info("===下拉框--查询省");

 Criteria criteria=this.sessionFactory.getCurrentSession().createCriteria(CareacodeTblQg.class);
 criteria.add(Restrictions.like("code", "%0000"));
 criteria.addOrder(Order.asc("code"));
 
 return criteria.list();
 }
 
 //下拉框--查询市
 public List findCity(String code2) {
 log.info("===下拉框--查询市");
 String id=code2.substring(0,2);

 Criteria criteria=this.sessionFactory.getCurrentSession().createCriteria(CareacodeTblQg.class);
 criteria.add(Restrictions.like("code", id+"%00"));
 criteria.add(Restrictions.ne("code",code2 ));
 criteria.addOrder(Order.asc("code"));
 
 return criteria.list();
 }
 
 //下拉框--查询县区
 public List findCounty(String code3) {
 log.info("===下拉框--查询县区");

 String id=code3.substring(0,4);
 Criteria criteria=this.sessionFactory.getCurrentSession().createCriteria(CareacodeTblQg.class); 
 
 criteria.add(Restrictions.like("code", id+"%"));
 criteria.add(Restrictions.not(Restrictions.like("code", "%01")));
 criteria.add(Restrictions.ne("code",code3 ));
 criteria.addOrder(Order.asc("code"));
 
 return criteria.list();
 }

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

Javascript 相关文章推荐
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
关于textarea提交的内容无法换行的解决办法
Apr 09 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
设置checkbox为只读(readOnly)的两种方式
Oct 11 Javascript
Javascript实现简单二级下拉菜单实例
Jun 15 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 Javascript
js文本框输入内容智能提示效果
Dec 02 Javascript
详解JavaScript中localStorage使用要点
Jan 13 Javascript
微信小程序后台解密用户数据实例详解
Jun 28 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
JS中的函数与对象的创建方式
May 12 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
Jun 12 #Javascript
javascript jquery对form元素的常见操作详解
Jun 12 #Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 #Javascript
浅谈JS中逗号运算符的用法
Jun 12 #Javascript
Node.js Addons翻译(C/C++扩展)
Jun 12 #Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 #Javascript
jQuery的each循环用法简单示例
Jun 12 #Javascript
You might like
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
[02:15]你好,这就是DOTA!
2015/08/05 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
python中xrange用法分析
2015/04/15 Python
python检查指定文件是否存在的方法
2015/07/06 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
2018/03/22 Python
python实时监控cpu小工具
2018/06/21 Python
Python中@property的理解和使用示例
2019/06/11 Python
python如何实现数据的线性拟合
2019/07/19 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
Python类型转换的魔术方法详解
2020/12/23 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
优秀团支部事迹材料
2014/02/08 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
高中生逃课检讨书
2014/10/10 职场文书
开展警示教育活动总结
2015/05/09 职场文书