利用js实现二级联动的简单实例

  • 此实例是一个简单的二级联动,第一个列表中的值为固定的,第二个列表中的值随着第一个列表值的变化而变化,即第一个列表影响第二个列表。
  • 实现思路:先写两个<select>标签,用name或id来区分;写一个二维数组来存放信息;在一级菜单中使用onchange()事件来动态加载二级菜单的内容。
  • 完整代码
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>简单城市二级联动</title>
    	</head>
    	<body>
    		<form action="" method="post" name="form1">
    			<div id="province">
    				<select  name="sltProvince" οnchange="selectCity()">
    					<option value="">请选择省份</option>
    					<option value="">山西省</option>
    					<option value="">陕西省</option>
    					<option value="">江西省</option>
    					<option value="">四川省</option>
    				</select>
    			</div>
    			<div id="city">
    				<select name="sltCity">
    					<option value="0">请选择市区</option>
    				</select>
    			</div>
    		</form>
    	</body>
    	<script type="text/javascript" language="javascript">
    		var cityInfo = [["请选择市区","太原市","吕梁市","临汾市","运城市","阳泉市"],
    		                ["请选择市区","西安市","咸阳市","汉中市","延安市","榆林市"],
    		                ["请选择市区","南昌市","九江市","鹰潭市","上饶市","景德镇市"],
    		                ["请选择市区","成都市","绵阳市","雅安市","乐山市","眉山市"]];
    		
    		/*二级联动一般使用onchange事件*/
    		function selectCity(){
    			/*获取省份下拉框的对象*/
    			var pro = document.form1.sltProvince;
    			/*获取市区下拉框的对象*/
    			var cit = document.form1.sltCity;
    			/*得到对应得城市数组,selectedIndex表示下拉框列表的索引值*/
    			var selectParam = cityInfo[pro.selectedIndex-1];
    			/*将城市列表的选项只留下第一个提示选项*/
    			cit.length = 1;
    			for(var i=0;i<selectParam.length;i++){
    			    /*第一个selectParam[i]表示城市option中的value值,第二个selectParam[i]表示文本信息*/
    			    cit[i] = new Option(selectParam[i],selectParam[i]);
    			}
    		}
    	</script>
    </html>
    
    希望对大家有所帮助!
发布了16 篇原创文章 · 获赞 22 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/c_staunch/article/details/79938621