上一篇
HTML radio如何设置选中?
- 前端开发
- 2025-06-14
- 2079
在HTML中,通过为radio类型的input元素添加
checked
属性即可设置默认选中状态,同一组radio(相同name属性)中只能有一个被选中,示例:“,动态修改可使用JavaScript设置checked属性为true。
在HTML中,单选按钮(radio)通过name
属性分组实现互斥选择,设置选中状态的核心方法是使用checked
属性或JavaScript动态控制,以下是详细方法:
HTML静态设置(checked属性)
在HTML标签内直接添加checked
属性,该按钮会默认选中:
<form> <label> <input type="radio" name="color" value="red" checked> 红色 </label> <label> <input type="radio" name="color" value="blue"> 蓝色 </label> </form>
关键点:
checked
是布尔属性,无需赋值,存在即生效- 同组radio的
name
值必须相同才能互斥 - 表单提交时,选中的
value
值将被发送到服务器
JavaScript动态设置
方法1:直接操作DOM
// 通过value值选中 document.querySelector('input[type="radio"][value="blue"]').checked = true; // 通过ID选中 document.getElementById("blueRadio").checked = true;
方法2:遍历按钮组
const radios = document.getElementsByName("color"); radios.forEach(radio => { if (radio.value === "blue") { radio.checked = true; } });
jQuery设置(v3.6+示例)
// 按value值选中 $('input[name="color"][value="blue"]').prop('checked', true); // 通过ID选中 $("#blueRadio").prop("checked", true);
注意事项
- 互斥性:同组radio必须共享相同
name
,否则无法互斥 - 动态创建:新增radio需用JS重新绑定事件
const newRadio = document.createElement("input"); newRadio.type = "radio"; newRadio.name = "color"; newRadio.value = "green"; document.querySelector("form").appendChild(newRadio);
- 表单重置:需监听
<form>
的reset
事件或使用<button type="reset">
- 可访问性:始终关联
<label>
提升体验<input id="r1" type="radio" name="group"> <label for="r1">选项文本</label>
最佳实践建议
- 默认选中:在HTML中使用
checked
属性确保首屏渲染正确 - 动态更新:优先使用
document.querySelector
精准操作 - 框架适配:在Vue/React中使用双向绑定(如
v-model
/onChange
) - 兼容性:所有现代浏览器均支持
checked
属性
引用说明:本文内容参考MDN Web文档关于HTMLInputElement的权威定义,并结合W3C标准实践验证,jQuery API参考官方.prop()文档。