Javascript 如何使用ES6从表单中选择所有无线电组?
我想使用Javascript 如何使用ES6从表单中选择所有无线电组?,javascript,radio-button,radio-group,Javascript,Radio Button,Radio Group,我想使用name属性从表单中选择所有无线组: <form action="#" id="my-form"> <input type="radio" name="question1" value="1" /> <input type="radio" name="question1" value="2&quo
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>
但是这会返回所有的输入,现在我不知道如何制作一个过滤器来只保留每组的一个输入,您能帮我吗?您可以在查询选择器中这样指定问题
const radios=document.querySelectorAll('input[name=“question2”]”)
控制台日志(无线电)代码>
您可以在此处放置多个选择器,例如:第一个选择器选择单选框,另一个选择器选择您选择的值或任何特定数据属性,以将单选框分组为代码片段
const allRadio=document.querySelectorAll('[type=“radio”][value=“1”]');
log('所选元素的计数为',allRadio)代码>
inps=document.queryselectoral(“输入[名称]”)
唯一=[];
对于(变量i=0;i
这将为您提供一个具有唯一名称的元素数组。将从每个名称中选择具有名称的第一个元素
它是如何工作的
通过元素循环
如果当前元素是第一个元素(第一个条件),或者当前元素的名称与最后一个元素(第二个条件)不匹配,则将当前元素添加到最终列表中
属于另见。
document.querySelectorAll("input[name]");
inps = document.querySelectorAll("input[name]")
unique = [];
for(var i=0; i< inps.length; i++){
if(!i || inps[i-1].getAttribute("name")!=inps[i].getAttribute("name"))
unique.push(inps[i])
}
console.log(unique)