【问题标题】:How to dynamicly set value radiobutton with JS in HTML如何在 HTML 中使用 JS 动态设置值单选按钮
【发布时间】:2021-12-19 22:34:14
【问题描述】:

我是 JS 的新手,我试图动态地将一些文本作为单选按钮的选项值。但我似乎无法让文字出现。我做错了什么?

HTML

<form id="formulier">
<label for="a">
<input type="radio" id="a" name="a">
<!--here I want to show a value from an array ic answer[0]-->
<!--tried also this:   <script>document.write(answer[0]);</script>    -->
</label>
</form>

JS

var answer = <?php echo json_encode($antwoorden); ?>;
const a = document.getElementById("a");

// Ive tried:
a.value = answer[0];
a.innerHTML = answer[0];
a.innerText = answer[0];

他们都没有出现。如何使文本以 HTML 显示?

【问题讨论】:

  • 您正在设置单选按钮的值;它不会在页面上显示。
  • 我怎样才能让它可见?

标签: javascript html radio-button


【解决方案1】:

您不能通过将文本设置为单选按钮的值来输出文本。

您可以将其设置为相关label 元素的文本内容。

为了能够使用 JavaScript 轻松选择关联的 label,请将与 &lt;input type="radio"&gt; 元素的 ìd 相同的 class 分配给它。

HTML 和 JS 代码段

var answer = 'Dynamically inserted Message';
const a = document.getElementsByClassName("a")[0];
a.innerHTML = answer;
<form id="formulier">
  <input type="radio" id="a" name="a">
  <label for="a" class="a"></label>
</form>

【讨论】:

  • 这确实会添加文本,但复选框消失了
  • @micka 我已经测试了我的答案并且单选复选框仍然存在 - 只是标签的文本值按预期更改。检查你是否真的使用了方法getElementsByClassName("a")[0]而不是以前的document.getElementById("a")
  • 你是对的。我将
  • link 第一个单选按钮使用您的方法完成,其余的使用 div 标签完成。
猜你喜欢
  • 1970-01-01
  • 2017-05-03
  • 1970-01-01
  • 2014-07-01
  • 2012-03-17
  • 1970-01-01
  • 2023-02-14
  • 2017-05-04
  • 1970-01-01
相关资源
最近更新 更多