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

ReactJS中如何根据单选按钮输入填充文本框值

嘿,这个需求挺常见的,我给你写个原生HTML+JavaScript的实现方案,直接就能用,不需要依赖任何框架~

实现步骤

1. 先写HTML结构

我们需要一组单选按钮和一个用来展示结果的文本框:

<!-- 单选按钮组 -->
<div class="radio-group">
  <input type="radio" name="selection" id="opt-yes" value="yes">
  <label for="opt-yes">Yes</label>
  
  <input type="radio" name="selection" id="opt-no" value="no">
  <label for="opt-no">No</label>
</div>

<!-- 目标文本框 -->
<input type="text" id="result-input" readonly placeholder="选择一个选项看看">

注意:单选按钮的name属性必须相同,这样它们才会被识别为同一组,只能选中一个;文本框加了readonly是为了防止用户手动修改,如果你需要允许编辑,可以去掉这个属性。

2. 编写JavaScript逻辑

接下来监听单选按钮的选中状态变化,根据选中的值更新文本框内容:

// 获取所有单选按钮和文本框元素
const radioOptions = document.querySelectorAll('input[name="selection"]');
const resultInput = document.getElementById('result-input');

// 给每个单选按钮绑定change事件
radioOptions.forEach(radio => {
  radio.addEventListener('change', function() {
    // 判断当前选中的值,设置文本框内容
    if (this.value === 'yes') {
      resultInput.value = 'This is from yes';
    } else if (this.value === 'no') {
      resultInput.value = 'This is from no';
    }
  });
});

3. 可选优化:页面加载时默认赋值

如果你的单选按钮有默认选中项,想要页面一加载就显示对应文本,可以加上这段代码:

// 页面加载完成后检查默认选中的选项
document.addEventListener('DOMContentLoaded', function() {
  const defaultSelected = document.querySelector('input[name="selection"]:checked');
  if (defaultSelected) {
    resultInput.value = defaultSelected.value === 'yes' 
      ? 'This is from yes' 
      : 'This is from no';
  }
});

这样就完成啦!你可以直接把这些代码复制到HTML文件里运行,测试一下效果~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:18:14