You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置网页单选题radio buttons首次选择后不可再选

实现单选按钮选中后禁用整个组的方法

原生JavaScript实现

先构建基础的单选按钮HTML结构,确保所有选项的name属性一致(这是单选功能的核心):

<div class="quiz-option">
  <input type="radio" name="question1" id="opt1" value="opt1">
  <label for="opt1">选项1</label>
</div>
<div class="quiz-option">
  <input type="radio" name="question1" id="opt2" value="opt2">
  <label for="opt2">选项2</label>
</div>
<div class="quiz-option">
  <input type="radio" name="question1" id="opt3" value="opt3">
  <label for="opt3">选项3</label>
</div>
<div class="quiz-option">
  <input type="radio" name="question1" id="opt4" value="opt4">
  <label for="opt4">选项4</label>
</div>

然后添加JavaScript逻辑,监听单选按钮的change事件,一旦选中某个选项,就禁用同组的所有单选按钮:

// 获取同组的所有单选按钮
const radioButtons = document.querySelectorAll('input[name="question1"]');

// 给每个按钮绑定change事件
radioButtons.forEach(radio => {
  radio.addEventListener('change', function() {
    // 禁用当前组的所有单选按钮
    radioButtons.forEach(r => r.disabled = true);
  });
});

关键说明

  • 当用户选中任意一个单选按钮时,change事件触发,遍历同组所有按钮并设置disabled = true,此时所有按钮都无法再被选中或切换。
  • 禁用后浏览器会默认保留已选中按钮的样式,无需额外处理视觉反馈。

可选:jQuery实现(项目已引入jQuery时使用)

如果你的项目在用jQuery,可使用更简洁的写法:

$('input[name="question1"]').on('change', function() {
  $('input[name="question1"]').prop('disabled', true);
});

内容的提问来源于stack exchange,提问作者Muntasir Sajeeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:55:20