ajax的列表联动示例
ajax的列表联动示例
1、 输入域:
请选择省:
<select id="sel1" onchange="return choose(this);">
<option value="">--请选择--</option>
<option value="1">湖南省</option>
<option value="2">湖北省</option>
</select>
请选择市:
<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的列表联动示例相关推荐
- ajax怎样获得表头信息,layui.table动态获取表头和列表数据示例
layui.table动态获取表头和列表数据示例 2020年07月14日 | 萬仟网IT编程 | 我要评论 ```javascript//表格layui.use('table', function() ...
- php js 二级联动_PHP+ajax实现二级联动菜单功能示例
本文实例讲述了PHP+ajax实现二级联动菜单功能.分享给大家供大家参考,具体如下: 如何实现二级联动 工作原理 二级联动在开发中是比较常见的一个技术点,它主要运用了JS的局部刷新技术ajax,不同于 ...
- 利用ajax实现二级联动下拉框6,Ajax实现二级联动菜单
本文实例为大家分享了Ajax二级联动菜单的具体代码,供大家参考,具体内容如下 index.jsp 二级菜单联动演示 var req; window.οnlοad=function() {//页面加载时 ...
- jQuery Ajax: $.post请求示例
jQuery Ajax: $.post请求示例 leyangjun.html页面 <html> <head> <meta http-equiv="Content ...
- ajax eval html,Ajax eval的应用示例
Ajax eval的使用示例 (1)eval基本语法: eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. ...
- php下拉列表 二级 联动,PHP+Ajax实现二级联动下拉菜单!
正文 字体大小: 中 PHP+Ajax实现二级联动下拉菜单! (2009-12-05 01:11:39) 标签: 杂谈 数据库 .................................... ...
- ajax无刷新评论示例
下面就为大家带来一篇 ajax无刷新评论示例.学习还是有点帮助的,给大家做个参考吧. 这是留言板的界面,当用户点击提交留言的时候,自动提交到我的留言下面 留言内容中为空,或者为灰色的"没有填 ...
- html用ajax做三级联动,怎样使用JS+AJAX做出三级联动
这次给大家带来怎样使用JS+AJAX做出三级联动,使用JS+AJAX做出三级联动的注意事项有哪些,下面就是实战案例,一起来看一下. js 三级联动的实现代码如下所示: js原生ajax -请选择 省/ ...
- wxpython制作表格界面_Python wxPython库使用wx.ListBox创建列表框示例
本文实例讲述了Python wxPython库使用wx.ListBox创建列表框.分享给大家供大家参考,具体如下: 如何创建一个列表框? 列表框是提供给用户选择的另一机制.选项被放置在一个矩形的窗口中 ...
最新文章
- 北海市卫生学校计算机教室,北海卫校2021年招生简章_北海市卫生学校
- celery 学习笔记 01-介绍
- ECMall如何在后台添加模板编辑页
- Smart Business design time = CDS view + SADL
- python argparse_Python 命令行之旅:深入 argparse(二)
- 计算机主机异常经常蓝屏,计算机频繁发生蓝屏怎么解决
- java 理解main方法
- Swiper 滚动插件
- Flutter BindingBase服务扩展浅析
- 区块链主流共识算法全面解析
- Android开发之网络
- gdb 行号断点调试
- 从shell(终端)中退出python
- Python读取罗技G29数据
- Ubuntu18.04安装可视化软件Pyviz
- 交通路标识别(毕业设计)
- 如何提高FPGA的运行速度
- 小程序 滚动加载分页处理【亲测有效】
- 期货基础知识(竞价,定价,保证金计算)
- php编辑器浅色还是深色,程序员的IDE到底是浅色主题好还是深色主题好?
热门文章
- Android Audio代码分析8 - AudioHardwareALSA::openOutputStream函数
- 第十三届蓝桥杯省赛python(B组)赛后总结
- thinkphp发送邮箱(以thinkphp5作为示例)。
- 推荐有关Qt书籍、Qt中文参考文档(网上在线教程)、QTCN开发网和Qt入门视频
- matlab例题(阶乘,解方程,数字加密输出)
- 搭建大型网站使用的技术架构
- 牛客练习赛94F题解
- js设置cookie有效期,并获取存储的cookie值
- 明解C语言(中级篇)—第二章
- python挖矿木马_kworkerds 挖矿木马简单分析及清理