ajax的列表联动示例

1、  输入域:

请选择省:

<select id="sel1" onchange="return choose(this);">

<option value="">--请选择--</option>

<option value="1">湖南省</option>

<option value="2">湖北省</option>

</select>

&nbsp;&nbsp;

请选择市:

<select id="sel2">

<option value="">--请选择--</option>

</select>

2、  JavaScript脚本:

var xmlHttp;

//创建XMLHttpRequest对象

function createXMLHttpRequest() {

if(window.ActiveXObject) {

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

} else if (window.XMLHttpRequest) {

xmlHttp = new XMLHttpReuqest();

}

}

//选择下列列表中的值

function choose(obj) {

var province = obj.value;

createXMLHttpRequest();

xmlHttp.onreadystatechange = process;

xmlHttp.open("GET", "SelProvince?province=" + province);

xmlHttp.send(null);

}

//用来处理状态改变的函数

function process() {

//定义一个变量用于存放从服务器返回的响应结果

var result;

if(xmlHttp.readyState == 4) { //如果响应完成

if(xmlHttp.status == 200) { //如果返回成功

//取出服务器返回的XML中city标签的子结点

result = xmlHttp.responseXML.getElementsByTagName("city");

//先清除地市列表的现有内容

while(document.all.sel2.options.length > 0) {

document.all.sel2.removeChild(document.all.sel2.childNodes[0]);

}

//解析xml文件的数据,并更新到本地列表

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

var option = document.createElement("OPTION");

option.text = result[i].childNodes[0].childNodes[0].nodeValue;

option.value = result[i].childNodes[1].childNodes[0].nodeValue;

document.all.sel2.options.add(option);

}

}

}

}

3、  Servlet文件:(SelProvince.java文件中的doGet方法)

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

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

response.setContentType("text/xml");

response.setCharacterEncoding("UTF-8");

PrintWriter out = response.getWriter();

out.println("<response>");

if("1".equals(province)) {//如果选择的是“湖南省”

out.println("<city>");

out.println("<cityname>长沙</cityname>");

out.println("<cityvalue>1</cityvalue>");

out.println("</city>");

out.println("<city>");

out.println("<cityname>常德</cityname>");

out.println("<cityvalue>2</cityvalue>");

out.println("</city>");

} else {

out.println("<city>");

out.println("<cityname>武汉</cityname>");

out.println("<cityvalue>1</cityvalue>");

out.println("</city>");

out.println("<city>");

out.println("<cityname>仙桃</cityname>");

out.println("<cityvalue>2</cityvalue>");

out.println("</city>");

}

out.println("</response>");

out.flush();

out.close();

}

4、  web.xml文件配置:

<servlet>

<servlet-name>SelProvince</servlet-name>

<servlet-class>com.solid.util.SelProvince</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>SelProvince</servlet-name>

<url-pattern>/SelProvince</url-pattern>

</servlet-mapping>

ajax的列表联动示例相关推荐

  1. ajax怎样获得表头信息,layui.table动态获取表头和列表数据示例

    layui.table动态获取表头和列表数据示例 2020年07月14日 | 萬仟网IT编程 | 我要评论 ```javascript//表格layui.use('table', function() ...

  2. php js 二级联动_PHP+ajax实现二级联动菜单功能示例

    本文实例讲述了PHP+ajax实现二级联动菜单功能.分享给大家供大家参考,具体如下: 如何实现二级联动 工作原理 二级联动在开发中是比较常见的一个技术点,它主要运用了JS的局部刷新技术ajax,不同于 ...

  3. 利用ajax实现二级联动下拉框6,Ajax实现二级联动菜单

    本文实例为大家分享了Ajax二级联动菜单的具体代码,供大家参考,具体内容如下 index.jsp 二级菜单联动演示 var req; window.οnlοad=function() {//页面加载时 ...

  4. jQuery Ajax: $.post请求示例

    jQuery Ajax: $.post请求示例 leyangjun.html页面 <html> <head> <meta http-equiv="Content ...

  5. ajax eval html,Ajax eval的应用示例

    Ajax eval的使用示例 (1)eval基本语法: eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. ...

  6. php下拉列表 二级 联动,PHP+Ajax实现二级联动下拉菜单!

    正文 字体大小: 中 PHP+Ajax实现二级联动下拉菜单! (2009-12-05 01:11:39) 标签: 杂谈 数据库 .................................... ...

  7. ajax无刷新评论示例

    下面就为大家带来一篇 ajax无刷新评论示例.学习还是有点帮助的,给大家做个参考吧. 这是留言板的界面,当用户点击提交留言的时候,自动提交到我的留言下面 留言内容中为空,或者为灰色的"没有填 ...

  8. html用ajax做三级联动,怎样使用JS+AJAX做出三级联动

    这次给大家带来怎样使用JS+AJAX做出三级联动,使用JS+AJAX做出三级联动的注意事项有哪些,下面就是实战案例,一起来看一下. js 三级联动的实现代码如下所示: js原生ajax -请选择 省/ ...

  9. wxpython制作表格界面_Python wxPython库使用wx.ListBox创建列表框示例

    本文实例讲述了Python wxPython库使用wx.ListBox创建列表框.分享给大家供大家参考,具体如下: 如何创建一个列表框? 列表框是提供给用户选择的另一机制.选项被放置在一个矩形的窗口中 ...

最新文章

  1. 北海市卫生学校计算机教室,北海卫校2021年招生简章_北海市卫生学校
  2. celery 学习笔记 01-介绍
  3. ECMall如何在后台添加模板编辑页
  4. Smart Business design time = CDS view + SADL
  5. python argparse_Python 命令行之旅:深入 argparse(二)
  6. 计算机主机异常经常蓝屏,计算机频繁发生蓝屏怎么解决
  7. java 理解main方法
  8. Swiper 滚动插件
  9. Flutter BindingBase服务扩展浅析
  10. 区块链主流共识算法全面解析
  11. Android开发之网络
  12. gdb 行号断点调试
  13. 从shell(终端)中退出python
  14. Python读取罗技G29数据
  15. Ubuntu18.04安装可视化软件Pyviz
  16. 交通路标识别(毕业设计)
  17. 如何提高FPGA的运行速度
  18. 小程序 滚动加载分页处理【亲测有效】
  19. 期货基础知识(竞价,定价,保证金计算)
  20. php编辑器浅色还是深色,程序员的IDE到底是浅色主题好还是深色主题好?

热门文章

  1. Android Audio代码分析8 - AudioHardwareALSA::openOutputStream函数
  2. 第十三届蓝桥杯省赛python(B组)赛后总结
  3. thinkphp发送邮箱(以thinkphp5作为示例)。
  4. 推荐有关Qt书籍、Qt中文参考文档(网上在线教程)、QTCN开发网和Qt入门视频
  5. matlab例题(阶乘,解方程,数字加密输出)
  6. 搭建大型网站使用的技术架构
  7. 牛客练习赛94F题解
  8. js设置cookie有效期,并获取存储的cookie值
  9. 明解C语言(中级篇)—第二章
  10. python挖矿木马_kworkerds 挖矿木马简单分析及清理