理论上,我可以使用for循环在各种无线电输入上循环,以查看哪个已检查,然后警告已检查无线电输入的值,但该功能仅在选择第一个无线电输入时起作用。
我的最终目标是为客户建立一个报价表,但我在第一个障碍上遇到了困难。使用“警报”是唯一看到任何结果的尝试(我尝试了console.log、console.dir等,我已经使用chrome控制台/调试器工作了数小时,但没有任何效果。如果我有一个带有默认检查(checked=“checked”)的收音机,它也会失败,除非它是我选择的第一个无线电输入)。甚至下面的JS也是我在StackOverflow上发现的一个问题(不是重复的),OP声称它可以工作。
const radioButtonValue = radioName => {
var radioButtons = document.getElementsByName(radioName);
for (var i = 0; i < radioButtons.length; i++) {
if (radioButtons[i].checked) {
return radioButtons[i].value;
} else {
return "no value";
}
}
};
const getValues = () => {
var distance = radioButtonValue("distanceInput");
alert(distance);
};
<form>
<input name="distanceInput" type="radio" value="d1" />0-9km
<input name="distanceInput" type="radio" value="d2" />10-19km
<input name="distanceInput" type="radio" value="d3" />20-29km
<input name="distanceInput" type="radio" value="d4" />30-39km
<input name="distanceInput" type="radio" value="d5" />40-49km
<input name="distanceInput" type="radio" value="d6" />50-59km
<input name="distanceInput" type="radio" value="d7" />60-69km
<input name="distanceInput" type="radio" value="d8" />70-79km
<input name="distanceInput" type="radio" value="d9" />80-89km
</form>
<button onclick="getValues()">Get</button>
当我单击第一个无线电输入并调用getVales();我被警告的值"d1",但当我单击任何其他我看到"no value"。
一个简单的方法是给单选按钮一个类并使用以下查询选择器。
实例
document.getElementById('btn').onclick = (e) => {
const val = document.querySelector('.radio:checked').value;
console.log(val);
};
<form>
<input type="radio" name="test" class="radio" value="One" />
<input type="radio" name="test" class="radio" value="Two" />
<input type="radio" name="test" class="radio" value="Three" />
</form>
<button id="btn">Get Value</button>
是的,有这样一个功能。当您访问表单
元素的集合
上的名称时,对于单选按钮,您将返回一个具有值
属性的特殊无线节点列表
。
在您的情况下:
document.querySelector("form").elements["distanceInput"].value;
这比这简单得多。无需循环或if/then
。只需使用。querySelector()
以隔离选中的单选按钮。
document.querySelector("button").addEventListener("click", function(){
// Get the checked radio button
let selected = document.querySelector("form input[name='distanceInput']:checked");
console.log(selected.value);
});
<form>
<input name="distanceInput" type="radio" value="d1" />0-9km
<input name="distanceInput" type="radio" value="d2" />10-19km
<input name="distanceInput" type="radio" value="d3" />20-29km
<input name="distanceInput" type="radio" value="d4" />30-39km
<input name="distanceInput" type="radio" value="d5" />40-49km
<input name="distanceInput" type="radio" value="d6" />50-59km
<input name="distanceInput" type="radio" value="d7" />60-69km
<input name="distanceInput" type="radio" value="d8" />70-79km
<input name="distanceInput" type="radio" value="d9" />80-89km
<button type="button">Get selected radio button value</button>
</form>
本文向大家介绍aurelia 绑定到无线电输入,包括了aurelia 绑定到无线电输入的使用技巧和注意事项,需要的朋友参考一下 示例 基本收音机 带对象阵列的收音机 带布尔的收音机
所以im生成的输入字段很少,这就起作用了。 但我无法获得这个生成的输入字段的值。我可以让onchange工作,但我还是抓不到任何值。 所以我用jQuery尝试了很多方法,但都不奏效。我没有被迷惑。 这是生成的字段 看起来就像 那也很管用。 但我无法获得该输入字段的id
问题内容: 我正在为将来的项目评估angularjs。我需要做的一件事情是通过选择适当的“页面”无线电输入来显示“频道”信息的不同页面。此外,还可以从一组“页面集”无线电输入中选择页面按钮的范围。 下面的工作示例具有一组32个通道,通过“设置”和“页面”无线电输入的组合选择了可见的通道组,总共提供2 * 4页,每个通道4个通道。 我的问题是如何使用创建页面/页面集单选输入。我已经尝试过以下方法:
我正在尝试为自己做一个测验,我想要选定的单选按钮的数据值。在我解释这个问题之前,让我先告诉你发生了什么: 正如你所看到的,它只显示了我选择的第一个anwer。但我想要所有选定的答案。以及它们的数据值。所以我可以将它们作为数组或对象发送到php文件中。 这是我的代码: 有人知道为什么只显示一个吗?因为我搜索了一段时间,很多人推荐这个选项。 无法获取输入无线电选择值 我也尝试了这个:如何获得所选单选按
我目前正在尝试为一个我为好玩而开发的网站创建一个登录/创建帐户页面。在创建帐户表单中,我有一个用户名、姓名、电子邮件、密码和验证密码的输入字段。我在输入字段中也有模式,以便用户生成有效的帐户信息。以下为表格: 澄清:用户名模式要求您的用户名只有大写和小写字母和数字,并且必须至少包含5个字符,最多包含40个字符。电子邮件要求您输入有效的电子邮件地址模式。密码要求至少包含8个字符,并且必须包含大小写字
问题内容: 我只是想知道如何以正确的方式在单选按钮上使用新的HTML5输入属性“ required”。是否每个单选按钮字段都需要下面的属性,或者只有一个字段就足够了吗? 问题答案: 为无线电组的至少一个输入设置属性。 所有输入的设置更加清晰,但不是必需的(除非动态生成单选按钮)。 要对单选按钮进行分组,它们必须全部具有相同的值。这样一次只能选择一个,并应用于整个组。 另请注意: 为了避免对是否需要