二级联动示例
请选择武侠大师 金庸 古龙 梁羽生 请选择大师作品2.2、1.js文件源码如下:
var xhr;
//根据不同浏览器创建xhr对象的函数
function creatXHR () {
if (typeof(XMLHttpRequest)!=“undefined”) {
return new XMLHttpRequest(); //针对IE7及四大浏览器
}else if (typeof ActiveXObject !=“undefined”) {
if (typeof arguments.callee.activeXString!=“string”) {
var versions=[“MSXML2.XMLHttp.6.0”,“MSXML2.XMLHttp.3.0”,“MSXML2.XMLHttp”];
for (var i=0,len=versions.length;i<len;i++) {
try{
var xhr = new ActiveXObject(versions[i]);//针对IE7以下版本
arguments.callee.activeXString=versions[i];
return xhr;
}catch(e){
//TODO handle the exception
}
}
}
return new ActiveXObject(arguments.callee.activeXString);
}else{
throw new Error(“No XHR object available”);
}
}
//当第一个下拉框的选项发生改变时调用该函数
function changeSelect(){
var province = document.getElementById(‘province’).value;
var url = “select?id=”+ encodeURI(province);
xhr=creatXHR();
if(xhr){
xhr.open(“GET”,url,true);
//指定回调函数为callback
xhr.onreadystatechange = callback;
xhr.send(null);
}
}
//回调函数
function callback(){
if (xhr.readyState==4) {
if ((xhr.status>=200&&xhr.status<300)||xhr.status==304) {
parseMessage();
}else{
alert(“Request was unsuccessful:”+xhr.status);
}
}
}
//解析返回xml的函数
function parseMessage(){
var xmlDoc = xhr.responseXML.documentElement;//获得返回的XML文档
var xSel = xmlDoc.getElementsByTagName(‘select’); //获得XML文档中的所有标记
var select_root = document.getElementById(‘city’); //获得网页中的第二个下拉框
select_root.options.length=0; //每次获得新的数据的时候先把每二个下拉框架的长度清0
for(var i=0;i<xSel.length;i++){
var xValue = xSel[i].childNodes[0].firstChild.nodeValue; //获得每个标记中的第一个标记的值,也就是标记的值
var xText = xSel[i].childNodes[1].firstChild.nodeValue; //获得每个标记中的第二个标记的值,也就是
var option = new Option(xText, xValue); //根据每组value和text标记的值创建一个option对象
select_root.add(option);//将option对象添加到第二个下拉框中
}
}
2.3、SelectServlet.java文件源码
package Servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SelectServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType(“text/xml”);
response.setHeader(“Cache-Control”, “no-cache”);
request.setCharacterEncoding(“GBK”);
response.setCharacterEncoding(“UTF-8”);
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!