实现选中指定单选框时,自动设置另一组单选框为默认选中的需求
解决单选框联动问题:选中radio14时自动选中radio12
我来帮你搞定这个单选框联动的问题~先看看你现有代码里的几个小问题:
document.getElementById("#radio14")里的#是多余的,getElementById的参数直接传ID字符串就行,不需要CSS选择器的#前缀,否则会找不到对应的元素- 用
setAttribute('checked', true/false)设置单选框选中状态不太可靠,因为checked是DOM元素的布尔属性,直接赋值给元素的.checked属性才是标准且稳定的做法
接下来给你修正后的完整实现:
修正后的JavaScript代码
// 正确获取元素,去掉#前缀 const radio14 = document.getElementById('radio14'); const radio12 = document.getElementById('radio12'); // 监听change事件(比click更准确,覆盖键盘操作等场景) radio14.addEventListener('change', function() { // 直接赋值checked属性,逻辑更简洁 radio12.checked = this.checked; });
你的原有HTML结构(无需修改)
<input type="radio" name="Finishing" id="radio12" class="radio"/> <label for="radio12">Silky Matt lamination</label> <input type="radio" name="Special_Finishing" id="radio14" class="radio"/> <label for="radio14">Digital Embossing </label>
额外说明
- 用
addEventListener绑定事件比直接赋值onclick更灵活,后续可以添加多个事件处理函数而不会覆盖原有逻辑 - 选择
change事件而非click的原因:如果用户通过键盘(比如Tab+空格)切换单选框状态,click事件不会触发,但change事件能正常响应,兼容性更好
内容的提问来源于stack exchange,提问作者vithu shaji
相关产品推荐
相关产品推荐

