问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript实现省市联动市级菜单没有显示

发布网友 发布时间:2022-05-14 16:15

我来回答

3个回答

懂视网 时间:2022-05-14 20:37

本篇文章给大家带来的内容是关于javascript实现省市联动的代码分享,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前言:这个系列主要是对之前学习JavaScript实现的一些小demo的总结,总觉得不能这样学过了就算了,趁着假期就好好总结一下吧。

在平常的网站开发中,我们常常会遇到这样的一个需求:在注册页面或者完善个人信息时要选择个人所在地,当选择省时,该省对应的市也会自动更新。

技术点分析:

DOM操作:获取需要操作的DOM对象

数组Array:存储某个省对应的市数据

元素操作:appendChild(),createElement()

代码如下:

HTML代码:

<select onchange="changeCity(this.value)">
					<option>--请选择--</option>
					<option value="0">湖北</option>
					<option value="1">湖南</option>
					<option value="2">河北</option>
					<option value="3">河南</option>
				</select>
				<select id="city">
									
				</select>

JS代码:

<script>
			
	//1.创建一个二维数组用于存储省份和城市
	var cities = new Array(3);
	cities[0] = new Array("武汉市","黄冈市","襄阳市","荆州市");
	cities[1] = new Array("长沙市","郴州市","株洲市","岳阳市");
	cities[2] = new Array("石家庄市","邯郸市","廊坊市","保定市");
	cities[3] = new Array("郑州市","洛阳市","开封市","安阳市");
			
	function changeCity(val){
				
		//7.获取第二个下拉列表
		var cityEle = document.getElementById("city");
				
		//9.清空第二个下拉列表的option内容
		cityEle.options.length=0;
				
		//2.遍历二维数组中的省份
		for(var i=0;i<cities.length;i++){
			//注意,比较的是角标
			if(val==i){
				//3.遍历用户选择的省份下的城市
				for(var j=0;j<cities[i].length;j++){
					//alert(cities[i][j]);
					//4.创建城市的文本节点
					var textNode = document.createTextNode(cities[i][j]);
					//5.创建option元素节点
					var opEle = document.createElement("option");
					//6.将城市的文本节点添加到option元素节点
					opEle.appendChild(textNode);
					//8.将option元素节点添加到第二个下拉列表中去
					cityEle.appendChild(opEle);
				}
			}
		}
	}
</script>

相关推荐:

js省市区三级联动代码

PHP+Mysql+Ajax+JS实现省市区三级联动

JS实多级联动下拉菜单类,简单实现省市区联动菜单!_表单特效

热心网友 时间:2022-05-14 17:45

你是指没有初始化么?
是不是因为你“省”开始就有值,而没有执行selCity初始化?

var provinceArr=['安徽','浙江','江苏'];
var cityArr=[['合肥','芜湖'],['杭州','温州','金花'],['南京','无锡','扬州']];
var proId=document.getElementById("province")
//生成省份
for(var i=0;i<provinceArr.length;i++){
var pOpitions=document.createElement("option");
pOpitions.innerHTML=provinceArr[i];
pOpitions.value=provinceArr[i];
proId.appendChild(pOpitions)
};
(function selCity(proObj){
var cObj=document.getElementById("city");
//首先确定选择的省份的索引值,一一对应
var index=proObj.selectedIndex;
cObj.innerHTML="";
if(index>=0){
//遍历相应省份对应城市的数组 ,生成市
for(var i=0;i<cityArr[index].length;i++){
var option=document.createElement("option");
var optionText=cityArr[index][i];
option.value=optionText;
option.innerHTML=optionText;
cObj.appendChild(option);

}
}else{

var option=document.createElement("option");
option.value="";
option.innerHTML="--请选择城市--";
cObj.appendChild(option)

};

})(proId);

热心网友 时间:2022-05-14 19:03

直接给你个要么
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天将雄师观后感600字 为什么喝酒会降血糖 牛栏山 52度浓香型白酒-购买最佳价格 全兴大曲 52度浓香型白酒-购买最佳价格 笔记本电脑怎么接音箱电脑如何连接外置音箱 笔记本电脑有音箱插孔吗笔记本电脑如何连接喇叭 冰箱压缩机过热启动5秒就停了 周长相等的正方形和圆,其面积比是多少 周长相等的正方形和圆面积比是多少 周长相等的正方形与圆形,边长与半径的比是( ),面积之比是( )。 要有... 酉时和戌时属相是什么? 有谁用过广东创伟制造的电泳漆回收、精致、反渗透纯水机?请教一下其实用的操作方法,及常见问题! 天津赛远牌医疗电解制水机多少钱? 戌时属什么 戌时属哪样生肖? 生命之里水素离子水是怎么样的水呢,有朋友了解吗? 有一串珍珠项链,想当手链带,但是带两圈太松,三圈又太紧扣不上,在不变长短的情况下怎么带好看呢? 轴承外圈紧配合,内圈松配合的工作原理是什么 安然纳米家用制水机怎样操作p4水 什么叫节能型去离子水机?跟普通的去离子水机有什么不同? 如何让去离子水为碱性? 去离子水机的工作原理是怎么样的呢? 蓄电池的去离子水机是干嘛用的?怎么用? 什么是去离子水机啊? 要几个非主流,好听的炫舞名字和宠物名字,最好主人和宠物名字有关联 长江大学社会实践调查报告怎么写,关于城市外来务工人员状况的调查 qq炫舞中好听又好看的宠物名字而且pk时又厉害 好听唯美的网名,有谁有唯美好听的长的有符号和繁体的网名?求帮忙 如何实名认证不要银行卡? 请问老婆出轨自己遇着然而他们开车跑了没有拍下相片算不算证据? 《魔兽世界怀旧服》奥法输出循环手法是什么? 魔兽世界9.0奥法输出手法是什么? 《魔兽世界9.0》奥法输出手法是什么? 《tbc》奥法输出循环手法是什么? 《魔兽世界》奥法输出循环手法怀旧服是什么? wow奥法输出循环 魔兽世界奥法输出手法 奥法输出手法怎样才好? 魔兽世界奥法主要用哪几个技能输出?输出手法是什么? 魔兽世界法师 高手进来,奥法的输出手法 求奥法PVE循环输出手法 跪求70级奥法PVE输出天赋与输出循环 wow大灾变法师奥法输出手法 一个最多能加多少个好友? WOW法师奥法输出 怎么打才高,最好把方法说出来 wow奥法输出技能循环 奥法输出手法 3.22国服 奥法pve天赋及输出手法 一个每天最多可以加多少好友? 蚂蚁金服重新上市是否要重新申购?