input type=radio触发onchange事件时如何将选中值存入变量
单选框值赋值到$spilldeck变量的实现方法
方法1:适配你已添加onchange属性的代码方案
你已经为所有单选框绑定了onChange="getValue(this)"触发逻辑,只需要补充对应的全局变量声明和函数定义即可:
// 全局作用域声明目标变量 let $spilldeck; // 定义onchange触发的取值函数 function getValue(selectedRadio) { // 直接将选中单选框的value赋值给目标变量 $spilldeck = selectedRadio.value; // 此处可添加你后续需要用到$spilldeck的业务逻辑 }
注意:页面初始加载时默认选中的单选框不会触发change事件,建议添加初始化逻辑保证初始值正确:
// 页面加载完成后初始化默认值 window.addEventListener('load', () => { $spilldeck = document.querySelector('input[name="spilldeck"]:checked').value; })
方法2:无需手动给每个单选框加onchange的简化方案
如果你不想在HTML标签中重复写onchange属性,可以用JS统一绑定事件监听,HTML可以用回你最初没有onchange的版本,JS代码如下:
let $spilldeck; // 统一为所有同name的单选框绑定change事件 document.querySelectorAll('input[name="spilldeck"]').forEach(radio => { radio.addEventListener('change', function() { $spilldeck = this.value; }) }) // 初始化默认值 window.addEventListener('load', () => { $spilldeck = document.querySelector('input[name="spilldeck"]:checked').value; })
内容的提问来源于stack exchange,提问作者user2686655
相关产品推荐
相关产品推荐

