省市联动ajax代码
2015-08-03 12:13
302 查看
<script type="text/javascript">
function createXmlHttpRequest() {
try {
return new XMLHttpRequest();
} catch (e) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
window.onload = function() {
/*
发送异步请求
*/
var xmlHttp = createXmlHttpRequest();
xmlHttp.open("GET", "<c:url value='/ProvinceServlet'/>", true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200)
var proArray = eval("(" + xmlHttp.responseText + ")");
for (var i = 0; i < proArray.length; i++) {
var pro = proArray[i];
var option = document.createElement("option");
option.value = pro.pid;//这里赋id为了好处理
var textNode = document.createTextNode(pro.pname);
option.appendChild(textNode);
document.getElementById("province").appendChild(option);
}
}
};
var province = document.getElementById("province");
province.onchange = function() {
var xmlHttp = createXmlHttpRequest();
xmlHttp.open("POST", "<c:url value='/CityServlet'/>", true);
xmlHttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded ");
//关键是怎么知道这个this就是option呢,这个this到底指的是什么
xmlHttp.send("pid=" + this.value);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var c = document.getElementById("city");
var cOption = c.getElementsByTagName("option");
while (cOption.length > 1) {
c.removeChild(cOption[1]);
}
var cityPro = eval("(" + xmlHttp.responseText + ")");
for (var i = 0; i < cityPro.length; i++) {
var city = cityPro[i];
var option = document.createElement("option");
option.value = city.cid;
var textNode = document.createTextNode(city.cname);
option.appendChild(textNode);
c.appendChild(option);
}
}
};
};
};
</script>
function createXmlHttpRequest() {
try {
return new XMLHttpRequest();
} catch (e) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
window.onload = function() {
/*
发送异步请求
*/
var xmlHttp = createXmlHttpRequest();
xmlHttp.open("GET", "<c:url value='/ProvinceServlet'/>", true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200)
var proArray = eval("(" + xmlHttp.responseText + ")");
for (var i = 0; i < proArray.length; i++) {
var pro = proArray[i];
var option = document.createElement("option");
option.value = pro.pid;//这里赋id为了好处理
var textNode = document.createTextNode(pro.pname);
option.appendChild(textNode);
document.getElementById("province").appendChild(option);
}
}
};
var province = document.getElementById("province");
province.onchange = function() {
var xmlHttp = createXmlHttpRequest();
xmlHttp.open("POST", "<c:url value='/CityServlet'/>", true);
xmlHttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded ");
//关键是怎么知道这个this就是option呢,这个this到底指的是什么
xmlHttp.send("pid=" + this.value);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var c = document.getElementById("city");
var cOption = c.getElementsByTagName("option");
while (cOption.length > 1) {
c.removeChild(cOption[1]);
}
var cityPro = eval("(" + xmlHttp.responseText + ")");
for (var i = 0; i < cityPro.length; i++) {
var city = cityPro[i];
var option = document.createElement("option");
option.value = city.cid;
var textNode = document.createTextNode(city.cname);
option.appendChild(textNode);
c.appendChild(option);
}
}
};
};
};
</script>
相关文章推荐
- AVL树的C语言实现
- java中的serializable接口详解
- Ruby中编写类与模块的风格指南
- 2015.8.3 Java
- Mono for Unreal Engine发布,C#进入虚幻引擎(Unreal Engine)
- Delphi函数重载时参数类型问题
- java连接mysql 连接数太多
- java笔记(一)[static和final常量&String.format()问题&Array类&finalize方法及内存回收]
- PHP使用CURL详解
- windows下解决快捷键失效的万能方法
- Python爬虫之模拟登录豆瓣获取最近看过的电影
- spring data 系类的封装框架开源
- 七巧板涂色 c++
- PHP学习(前言)
- java随机数
- C# I/O 助手类
- Unreal4 IOS上使用第三方库和C++11 特性问题解决
- 初学Struts2-自定义拦截器及其配置
- Unreal4 C++ 错误指引
- Unreal4 C++使用注意事项