两个.JSP文件放在同一个目录文件下,启动.

MyJsp10.jsp

String path = request.getContextPath();

response.setContentType("text/html;charset=gb2312");

request.setCharacterEncoding("gb2312");

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'MyJsp.jsp' starting page

var http_request = false;

var optionValue="";

function send_request(url) {//初始化,指定处理函数,发送请求的函数

http_request = false;

if (window.XMLHttpRequest) { // Mozilla浏览器

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType) {

http_request.overrideMimeType('text/xml');//设置MIME类别

}

} else if (window.ActiveXObject) { // IE 浏览器

try {

http_request = new ActiveXObject("Msxml2.XMLHTTP");

http_request.overrideMimeType('text/xml');//设置MIME类别

} catch (e) {

try {

http_request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {}

}

}

if (!http_request) {//异常,创建对象实例失败

alert('Giving up :( 创建对象实例失败');

return false;

}

http_request.onreadystatechange = processRequest;

http_request.open('post', url, true);

http_request.send(null);

}

function processRequest() {

if (http_request.readyState == 4) {

if (http_request.status == 200) {

optionValue=http_request.responseText+"";

setSelectObj(optionValue);

} else {

alert('你所请求的页面有问题');

}

}

}

function showRoles(obj){

document.getElementById(obj).parentNode.style.display="";

document.getElementById(obj).innerHTML="正在读取数据........";

testPos=obj;

send_request('sample_10.jsp');

}

function getCity(cityObj){

send_request("sample_10.jsp?flag=city&pid="+cityObj);

}

function getCounty(countyObj){

send_request("sample_10.jsp?flag=county&ciid="+countyObj);

}

/*function commonCopyValue(orignObj, destObj){

if (orignObj.type == "select-one" && destObj.type == "select-one"){

for (var i = 0; i < orignObj.length; i++) {

if (trim(orignObj[i].value) != "") {

destObj.add(new Option(orignObj[i].text, orignObj[i].value));

}

}

}

} */

function setSelectObj(obj){

var arr1=obj.split('@');

var str=arr1[2]+"";

if(arr1[2]=="city\r\n"){

var arr2=arr1[0].split(',');

var arr3=arr1[1].split(',');

var selectCityObj= document.getElementById("city");

//删除原来的

if(selectCityObj.value!=""){

for(var i=0;i<100;i++){

selectCityObj.remove(0);

}

}

//增加新的

for(var i=0;i

selectCityObj.add(new Option(arr3[i],arr2[i]));

}

}else if(arr1[2]=="county\r\n") {

var arr2=arr1[0].split(',');

var arr3=arr1[1].split(',');

var selectCountyObj= document.getElementById("county");

//删除原来的

if(selectCountyObj.value!=""){

for(var i=0;i<100;i++){

selectCountyObj.remove(0);

}

}

//增加新的

for(var i=0;i

selectCountyObj.add(new Option(arr3[i],arr2[i]));

}

}

}

请选择省份:

北京

上海

天津

重庆

广东

湖南

湖北

请选择城市:

株洲

邵阳

湘潭 --%>

请选择区县:

海淀1

虹桥1

中山2--%>

sample_10.jsp

pageEncoding="UTF-8"%>

Connection conn = null;

ResultSet rs = null;

PreparedStatement ps = null;

String ci_id = "";

String ci_name = "";

String co_id = "";

String co_name = "";

String pid = request.getParameter("pid");

String ciid = request.getParameter("ciid");

String flag = request.getParameter("flag");

try {

Class.forName("oracle.jdbc.OracleDriver");

String ur1 = "jdbc:oracle:thin:@localhost:1521:servicesname";

conn = DriverManager.getConnection(ur1, "username", "pwd");

StringBuffer sb = new StringBuffer("");//

StringBuffer sb1 = new StringBuffer("");//

if (pid != null && ("city".equals(flag) || "city" == flag)) {

ps = conn.prepareStatement("select * from city where p_id='"+ pid + "'");

rs = ps.executeQuery();

while (rs.next()) {

ci_id = rs.getString("ci_id");

ci_name = rs.getString("ci_name");

sb.append( ci_id + ",");

sb1.append(ci_name+",");

}

String str1=sb.substring(0,sb.length()-1);

String str2=sb1.substring(0,sb1.length()-1);

out.print(str1+"@"+str2+"@city");

} else if (ciid != null && ("county".equals(flag) || "county" == flag)) {

ps = conn.prepareStatement("select * from county where ci_id='"+ ciid + "'");

rs = ps.executeQuery();

StringBuffer sb2 = new StringBuffer("");//

StringBuffer sb3 = new StringBuffer("");//

while (rs.next()) {

co_id = rs.getString("co_id");

co_name = rs.getString("co_name");

sb2.append(co_id+",");

sb3.append(co_name+",");

}

String str3=sb2.substring(0,sb2.length()-1);

String str4=sb3.substring(0,sb3.length()-1);

out.print(str3+"@"+str4+"@county");

}

} catch (Exception ex) {

ex.printStackTrace();

out.println("异常:" + ex.getMessage());

} finally {

try {

rs.close();

ps.close();

if (conn != null)

conn.close();

} catch (Exception e) {

rs = null;

ps = null;

conn = null;

e.printStackTrace();

}

}

%>

3级联动 ajax java_java+ajax(三级连动下拉框)相关推荐

  1. Javascript 调用XML制作连动下拉框

    Javascript 调用XML制作连动下拉框 作者: 何耀 Thursday, June 5 2003 2:44 PM 传统的HTML页面中连动下拉框采用了两种方法: 1)直接将下拉框中的内容har ...

  2. Ajax获取Json对象绑定下拉框

    分享个小实例,废话少说,直接上代码..... 贴上JS代码: Js代码  1  <script type="text/javascript">  2         $ ...

  3. jquery ajax 找到数据怎样放到下拉框里_闲话Excel之简易数据动态图表的制作

    今天早上你的老板和你说让你把今年1-6月份的员工业绩做一份报表发给他,务必简介直观,但是你目前手头就以下的数据: 你肯定不能将这个发给你老板啊,既不简洁也不直观,该咋办呢?我建议用动态图表的方法,且听 ...

  4. Ajax简单示例之改变下拉框动态生成表格

    1.建立一个aspx页面,html代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat=&quo ...

  5. 菜鸟学Java(七)——Ajax+Servlet实现无刷新下拉联动

    下拉联动的功能可以说非常的常用,例如在选择省.市等信息的时候:或者在选择大类.小类的时候.总之,下拉联动很常用.今天就跟大家分享一个简单的二级下拉联动的功能. 大类下拉框:页面加载的时候就初始化大类的 ...

  6. ajax下拉框省市级联动

    目录 效果 sql数据 前后台代码实现 效果 初始访问页面 选中省会,自动刷新页面 sql数据 -- 省市联动数据CREATE TABLE PROVINCE (PID NUMBER PRIMARY K ...

  7. 使用AJAX做一个页面导航模糊匹配下拉框

    使用AJAX做一个页面导航模糊匹配下拉框 绪论:使用AJAX页面导航模糊匹配下拉框 使用软件: Vs2019 实现方式:三层架构 功能实现是下面的图片 类似就是这样,下面把主样式界面代码放出来 < ...

  8. php jq ajax 4个下拉框联动案列,AJAX_AJAX实现下拉框联动,想当年,为了实现三级联动, - phpStudy...

    AJAX实现下拉框联动 想当年,为了实现三级联动,找个js高手些了N多代码才搞定,但是很慢,因为一次要将所有的选项取来,然后排序,查找动态显示. 现在使用AJAX真是太方便了,下面做了个简单例子,实现 ...

  9. Ajax实现无刷新三联动下拉框

    1.html代码 <HTML>     <HEAD>         <title>Ajax实现无刷新三联动下拉框</title>         &l ...

最新文章

  1. 爬虫之selenium开启无界面模式
  2. cesium 经纬度绘制点_cesium结合geoserver利用WFS服务实现图层新增(附源码下载)
  3. 基于 Unity 中的 NGUI 插件,通用的 UI 如何设计
  4. 数据库-表中导入数据-insert
  5. jzoj4049-排序【搜索】
  6. linux usb学习笔记
  7. 计算机网络——数据链路层的概述
  8. saltstack grains
  9. Microsoft Dynamics CRM Server 2011安装配置
  10. 正在经历变革的 Linux 系统管理员技能
  11. Java面试题之 static执行顺序
  12. Android移动应用开发大作业——日程管理+邮件反馈
  13. 把电脑做成服务器系统,把电脑做成云盘服务器
  14. 视频中警戒区 仿射变换
  15. Shiro中自定义Realm
  16. Slack 开发入门之 Incoming Webhooks:往 Slack 的 Channel 中发消息
  17. MySQL kill进程后出现killed
  18. 使用 C 语言打开浏览器
  19. 【Java并发编程实战】(十七):Future和CompletableFuture的原理及实战——异步编程没有那么难
  20. 人啊,除了健康,什么都是浮云

热门文章

  1. Ice笔记--C++线程与并发(小结)
  2. Android SDK Manager无法下载包的问题
  3. unet 层_UNet解释及Python实现
  4. linux 下删除文件的 操纵
  5. 【DP优化】【P1430】序列取数
  6. Python09 字典
  7. 打包镜像并同时压缩多个镜像
  8. LAN WAN WLAN 的区别
  9. shell 中引用参数总结
  10. 微服务2.0技术栈选型手册,值得架构师借鉴