js/jsp实现两级级联下拉

本文介绍了如何使用JavaScript和JSP实现两级联动的下拉菜单。当选择一级下拉菜单选项时,二级下拉菜单会根据所选的一级选项加载相应数据。未选择一级选项时,二级下拉不会显示数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面代码

						<div class="form-group row">
							<label class="col-sm-2 control-label text-right">一层次原因:</label>
							<div class="col-sm-8">
								<select id="yccyy" name="yccyy" class="form-control select2">
									<option value="---请选择---">----请选择---</option>
								</select>
								
							</div>
						</div>
						<div class="form-group row">
							<label class="col-sm-2 control-label text-right">二层次原因:</label>
							<div class="col-sm-8">
								<select id="eccyy" name="eccyy" class="form-control select2">
									<option value="---请选择---">----请选择---</option>
								</select>
								
							</div>
						</div>

js代码

<script type="text/javascript">
		var arr = [
		           {name:'设计',arrList:['设计输入问题','设计差错','试验验证不充分','设计可靠性欠缺','设计接口不协调','技术未吃透','测试覆盖性不全']},
		           {name:'工艺',arrList:['工艺差错','工艺方案考虑不周','工艺技术未吃透']},
		           {name:'操作',arrList:['误操作','违章操作']},
		           {name:'管理',arrList:['无章可循','办法不完善','培训不到位','执行不到位','有章不循']},
		           {name:'器材',arrList:['固有质量问题','使用质量问题']},
		           {name:'软件',arrList:['需求缺陷','设计缺陷','接口缺陷','健壮性设计不足','测试缺陷','配置管理差错']},
		           {name:'设备',arrList:['设备能力不足','设备老化','校验不到位']},
		           {name:'环境',arrList:['环境问题']},
		           {name:'其他',arrList:['其他问题']}
		           ]
		
		//获取操作对象
        var yccyy=document.querySelector('[name="yccyy"]')
        var eccyy=document.querySelector('[name="eccyy"]')
        
        for(var i in arr){
           //创建选项
           var opt=document.createElement('option')
           //给当前对象设置value属性值
           opt.value=arr[i].name
           //给当前对象添加文本内容
           opt.innerHTML=arr[i].name
           //把新元素追加到指定父级中
           yccyy.appendChild(opt)
        }
		
		yccyy.onchange=function(){
	            //保留当前第一个选项
	            eccyy.options.length=1
	            //获取当前被选中的一级原因对象
	            var p1=this.value
	            //遍历所有数据
	            for(var i in arr){
	                //判断当前一级原因是否等于被选中的一级原因
	                if(p1==arr[i].name){
	                    //满足条件以后再获取该一级原因对应的二级原因,并遍历
	                    for(var j in arr[i].arrList){
	                        //创建选项
	                        var opt=document.createElement('option')
	                        //给当前对象设置value属性值
	                        opt.value=arr[i].arrList[j]
	                        //给当前对象添加文本内容
	                        opt.innerHTML=arr[i].arrList[j]
	                        //把新元素追加到指定父级中
	                        eccyy.appendChild(opt)
	                    }
	                }
	            }
	        }
        
	</script>

效果

1.一级下拉。
在这里插入图片描述
2.如果不选择一级下拉数据,那么二级下拉就无法显示数据。
在这里插入图片描述
3.选择了一级下拉,二级下拉才会对应一级下拉所选的数据进行展示。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值