首页 > 解决方案 > 如何使用 ES6 从表单中选择所有无线电组?

问题描述

我想使用以下name属性从表单中选择所有单选组:

<form action="#" id="my-form">

   <input type="radio" name="question1" value="1" />
   <input type="radio" name="question1" value="2" />

   <input type="radio" name="question2" value="1" />
   <input type="radio" name="question2" value="2" />

   <input type="radio" name="question3" value="1" />
   <input type="radio" name="question3" value="2" />

</form>

如您所见,我有 3 个广播组:问题 1、问题 2、问题 3

所以,从 JavaScript(不是 jquery),我想创建一个包含这些组名称的数组:["question1", "question2", "question3"]或者至少选择每个组的第一个输入

我尝试使用以下方法执行此操作:

document.querySelectorAll("input[name]");

但这会返回所有输入,现在我不知道如何制作过滤器以仅保留每个组的一个输入,您能帮帮我吗?

标签: javascriptradio-buttonradio-group

解决方案


您可以像这样在查询选择器中指定问题

const radios = document.querySelectorAll('input[name="question2"]')

console.log(radios);
<form action="#" id="my-form">

   <input type="radio" name="question1" value="1" />
   <input type="radio" name="question1" value="2" />

   <input type="radio" name="question2" value="1" />
   <input type="radio" name="question2" value="2" />

   <input type="radio" name="question3" value="1" />
   <input type="radio" name="question3" value="2" />

</form>


推荐阅读