单选按钮radio选择,下拉框select联动

写了一个简单的页面,实际中我的 radio是在js中Ajax返回数据循环生成的,但是原理是这样的
功能: 点击radio,下面的下拉菜单跟着联动, 如 点击曹操 下拉菜单自动变成魏国,点击张飞的radio 下面自动变成蜀国
在这里插入图片描述
在这里插入图片描述
直接上代码

<html>
<head>
<title>radio 和 select 联动</title>
<script>
//点击radio进去函数
function operation(val) {
	
	var radioValue = val.value;

	if (radioValue == 1) {		//曹操
		var sel = document.getElementById('national');
		sel.options[0].text = "魏国";
	}else if (radioValue == 2) {//刘备
		var sel = document.getElementById('national');
		sel.options[0].text = "蜀国";
	}else if (radioValue == 3) {//孙权
		var sel = document.getElementById('national');
		sel.options[0].text = "吴国";
	}else if (radioValue == 4) {//张飞
		var sel = document.getElementById('national');
		sel.options[0].text = "蜀国";
	}else if (radioValue == 5) {//周瑜
		var sel = document.getElementById('national');
		sel.options[0].text = "吴国";
	}else if (radioValue == 6) {//夏侯惇
		var sel = document.getElementById('national');
		sel.options[0].text = "魏国";
	}
}


</script>
</head>

<body>
		<!-- radio -->
		<div >
				  <label >
				    <input id="a" type="radio" name="mt" value="1" "operation(this);">
					曹操
				  </label>
				  <label for="b" class="mwriw_d_r">
				    <input id="b" type="radio" name="mt" value="2" "operation(this);">
					刘备
				  </label>
				  <label for="c" class="mwriw_d_r">
				    <input id="c" type="radio" name="mt" value="3" "operation(this);">
					孙权
				  </label>
				  <label for="d" class="mwriw_d_r">
				    <input id="d" type="radio" name="mt" value="4" "operation(this);">
					张飞
				  </label>
				  <label for="e" class="mwriw_d_r">
				    <input id="e" type="radio" name="mt" value="5" "operation(this);">
					周瑜
				  </label>
				  <label for="f" class="mwriw_d_r">
				    <input id="f" type="radio" name="mt" value="6" "operation(this);">
					夏侯惇
				  </label>
		</div>
		<br/><br/><br/><br/><br/><br/>
		<!-- select  -->
		<div >
				<select  id="national" name="national">
					<option value="蜀国" selected="selected">蜀国</option>
					<option value="魏国" >魏国</option>
					<option value="吴国" >魏国</option>

				</select>
		</div> 
</body>
<html> 
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多级联动下拉框可以通过JavaScript实现。以下是一个简单的例子: HTML代码: ```html <select id="province" onchange="updateCity()"> <option value="">请选择省份</option> <option value="江苏">江苏</option> <option value="浙江">浙江</option> </select> <select id="city" onchange="updateDistrict()"> <option value="">请选择城市</option> </select> <select id="district"> <option value="">请选择区县</option> </select> ``` JavaScript代码: ```javascript var cityData = { "江苏": ["南京", "苏州", "无锡"], "浙江": ["杭州", "宁波", "温州"] }; var districtData = { "南京": ["玄武区", "鼓楼区", "建邺区"], "苏州": ["姑苏区", "虎丘区", "吴中区"], "无锡": ["锡山区", "惠山区", "滨湖区"], "杭州": ["西湖区", "上城区", "下城区"], "宁波": ["海曙区", "江东区", "江北区"], "温州": ["鹿城区", "龙湾区", "瓯海区"] }; function updateCity() { var province = document.getElementById("province").value; var citySelect = document.getElementById("city"); var districtSelect = document.getElementById("district"); citySelect.innerHTML = "<option value=''>请选择城市</option>"; districtSelect.innerHTML = "<option value=''>请选择区县</option>"; if (province != "") { var cities = cityData[province]; for (var i = 0; i < cities.length; i++) { var option = document.createElement("option"); option.value = cities[i]; option.innerHTML = cities[i]; citySelect.appendChild(option); } } } function updateDistrict() { var province = document.getElementById("province").value; var city = document.getElementById("city").value; var districtSelect = document.getElementById("district"); districtSelect.innerHTML = "<option value=''>请选择区县</option>"; if (province != "" && city != "") { var districts = districtData[city]; for (var i = 0; i < districts.length; i++) { var option = document.createElement("option"); option.value = districts[i]; option.innerHTML = districts[i]; districtSelect.appendChild(option); } } } ``` 在这个例子中,我们定义了两个对象:cityData和districtData,分别保存了城市和区县的数据。当省份下拉框的值发生变化时,我们会根据选中的省份动态生成城市下拉框的选项。同样地,当城市下拉框的值发生变化时,我们会根据选中的城市动态生成区县下拉框的选项。 你可以根据自己的需求修改cityData和districtData对象,来实现更复杂的多级联动下拉框效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值