在web中,实现三级联动很常见,尤其是利用jquery+json。但是从根本上来说jquery并不是最能让人容易理解的,接下来从最基本的javascript开始,实现由javascript+json+mysql实现三级联动:

一、涉及到的知识点:

1.ajax:(异步的javascript and xml)

1.简单来说就是不用刷新整个页面实现局部页面的动态改变:也就是不用重新发布工程而做到改变想要改变的数据。

2.实现异步的四个步骤:

1.得到核心对象

2.打开链接

3.发送

4.添加监听

2.json :用到的主要方法:

JSONArray.fromObject(object);将list数组转为json

JSONObject.fromObject(object);将javabean转为json

tostring();得到json串

3.javabean基于数据库的设计(算不上什么方法只能说是对数据库以及java面向对象的理解):

一对多,多对一,一对一表之间的设计关系,面向对象是关键:一个省有多个市,因此省bean中可以有list集合存市,但是市属于哪个省,也应该设计省对象记住市

事例演示:

二,核心代码:

首先是异步显示省的javabean:

public classProvince {privateString provinceid;privateString province;private ListcityList;publicString getProvinceid() {returnprovinceid;

}public voidsetProvinceid(String provinceid) {this.provinceid =provinceid;

}publicString getProvince() {returnprovince;

}public voidsetProvince(String province) {this.province =province;

}public ListgetCityList() {returncityList;

}public void setCityList(ListcityList) {this.cityList =cityList;

}

}

省servlet:==================================json转换==============================

public voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

response.setContentType("text/html;charset=utf-8");/** 1.得到dao所有的省

* 2.将list转换成json

* 3.发送给客户端*/Dao dao=newDao();

List plist=dao.getAllProvince();

String json=JSONArray.fromObject(plist).toString();

response.getWriter().print(json);

}

异步显示省:jsp==========这个只是ajax实现省份的代码,全部代码在后面:(重点:如何实现ajax+json衔接)

functioncreateXMLHttpRequest(){try{return new XMLHttpRequest();//大多数浏览器

} catch(e) {try{return new ActiveXObject("msxml2.XMLHTTP");//IE6

} catch(e) {try{return new ActiveXObject("Micorsoft.XMLHTTP");//IE5甚至更早

} catch(e) {

}

}

}

}

window.οnlοad= function() {/*一、发送异步请求,页面加载完成,每个省份生成一个option添加到,下*/

//1.得到核心对象

var xmlHttp=createXMLHttpRequest();//2.打开链接

xmlHttp.open("GET","",true);//要实现这个必须导入taglib标签体//3.发送

xmlHttp.send(null);

//4.添加监听

xmlHttp.onreadystatechange=function(){if (xmlHttp.readyState==4 && xmlHttp.status==200){var proArry = eval("(" + xmlHttp.responseText + ")");//执行json字符串--得到数组

//遍历数组

for ( var i = 0; i < proArry.length; i++) {var pro = proArry[i];//得到每个pro对象

var optionEle = document.createElement("option");//创建元素

//给option的实际值赋pro.provinceid(省id) 而不是pro.province(省名称)

optionEle.value =pro.provinceid;var textNode =document.createTextNode(pro.province);

optionEle.appendChild(textNode);//最后:把option元素添加到select元素中

document.getElementById("province").appendChild(optionEle);

}

}

};

};

省市区三级联动

${test}

省:

===请选择===

市:

===请选择===

区(县):

===请选择===

三、省市区三级联动数据库:

四、完整代码

省市区三级联动 mysql_javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)...相关推荐

  1. mysql 省市县三级联动查询_PHP+AJAX+MYSQL 仿凡客诚品省市县三级联动下拉菜单查询效果...

    连接数据库:db.php $dbhost="localhost"; $dbpassword="123"; $dbuser ='root';//数据库用户名 $d ...

  2. java ajax 联动菜单_二级联动菜单代码(AJAX JAVA).

    二级联动菜单代码(AJAX+JAVA)珍藏 [java] pageEncoding="UTF-8"%> 二级菜单联动演示 var req; window.οnlοad=fun ...

  3. java封装省市区三级json格式,2016中国省市区三级联动json格式.pdf

    2016中国省市区三级联动json格式 2016 年中国省市区三级联的JSON 格式 {"北京市":{"name":"北京市"," ...

  4. 中国省市区三级联动实例(AJAX实现)

    本文利用ajax实现一个省市区三级联动示例: 1.测试页面(test.htm) <!DOCTYPE html> <html> <head> <title> ...

  5. Java中省市区三级联动,附前后台及数据库

    Java中省市区三级联动,附前后台及数据库 实体pojo @Entity @Table(name = "province_city_district") @Data public ...

  6. dropdownlist ajax联动,asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例...

    本文主要列举了省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例.前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景是省市三级 ...

  7. 二级联动菜单ajax刷新,jquery json ajax 二级联动菜单实例

    本文实例讲述了jquery json ajax 二级联动菜单.分享给码农们参考,具体如下: 后台Handler.ashx using System; using System.Web; using S ...

  8. ajax省市联动案例,JQuery+Ajax制作省市联动

    $(document).ready(function () { $("#Province").append("" + "--请选择--" + ...

  9. js中的json ajax,js结合json实现ajax简单实例

    这篇文章主要为大家详细介绍了js结合json实现ajax简单实例的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前期准备 1.安装wampserver或者其他相似软件来搭建本地集成安装环 ...

  10. android json mysql_Android通过json向MySQL中读写数据的方法详解【写入篇】

    本文实例讲述了Android通过json向MySQL中写入数据的方法.,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Jav ...

最新文章

  1. 管理虚拟机的艺术——有备无患
  2. java 数字转26个字母和26个字母转数字
  3. MySql—索引原理
  4. c mvc ajax 返回下拉框,SpringMVC之ajax+select下拉框交互常用方式
  5. Java锁的种类以及辨析
  6. SQL Server和Oracle的差异
  7. C++实验课任务(多态--容器--算法)
  8. 软件测试开发实战| Java版本,Gson解析json比较常用的2种方式
  9. 数据结构堆栈 内存堆栈_了解堆栈数据结构
  10. 面向对象编程时,十条原则:
  11. Zblog主题,Zblog响应式主题,免费Zblog主题
  12. MySQL报错: Incorrect string value: '\xE5\x85\xA8\xE7\x90\x83...' for column 'cname' at row 1
  13. 078 周期函数定积分性质及定积分三大性质总结
  14. push ebp到底是什么意思
  15. django Mezzanine uwsgi nginx 配置
  16. Keil环境添加STC系列单片机
  17. DTW 动态时间规整
  18. C/C++编程:默认构造函数的建构操作
  19. Source Insight免费下载(含秘钥+教程)
  20. java删除确认_删除添加确认事件

热门文章

  1. 通过TP-Link路由器WAN口嗅探PPPoE拨号密码-路由器拨号密码破解方法
  2. utorrent无传入连接_uTorrent常见问题解答中文版
  3. 电机学感应电动机重点知识总结(现有题目中反映的)
  4. 【C语言】新手入门的C语言经典实例(持续更新)
  5. android开机动画 制作工具,android开机动画制作
  6. 办公神器,专治低效——特色功能软件工具
  7. R语言系统教程(一):向量及其相关操作
  8. cuda必须装在c盘吗_善待你的系统盘——系统盘(C盘)解决方案
  9. 官网下载STM32系列芯片的产品选型手册
  10. 论文阅读 || 图像分类系列 —— DenseNet(很详细)