在选中/选择一个单选按钮后,我尝试禁用具有特定名称的所有单选按钮。
这是我的尝试:
var radios = document.getElementsByName("question0");
for (var i = 0, iLen = radios.length; i < iLen; i++) {
radios[i].onclick = showResult;
}
function showResult() {
var x = document.getElementsByClassName("checkbox");
var i;
for (i = 0; i < x.length; i++) {
x[i].disabled = true;
}
}
问题是所有单选按钮现在都将被禁用,即使是那些名称为 question1
的单选按钮。
如何对每个问题的函数执行此操作?因此,如果我在 question1
中选择一个选项,我将无法更改答案,但仍可以在 question2
中进行选择。
最佳答案
您可以在单击其中一个单选按钮时根据名称
定位它们,从而禁用整组单选按钮。
请参阅此工作示例:
var radios = document.querySelectorAll("input[type=radio]");
for (var i = 0, iLen = radios.length; i < iLen; i++) {
radios[i].onclick = function() {
showResult(this.name);
}
}
function showResult(name) {
var x = document.getElementsByName(name);
for (var i = 0; i < x.length; i++) {
x[i].disabled = true;
}
}
Question 0:
<input type="radio" name="question0" val="answer1">
<input type="radio" name="question0" val="answer2">
<input type="radio" name="question0" val="answer3">
<br /> Question 1:
<input type="radio" name="question1" val="answer1">
<input type="radio" name="question1" val="answer2">
<input type="radio" name="question1" val="answer3">
关于javascript - 选择后如何禁用所有单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48082982/