JavaScript - 尝试禁用所有单选按钮
JavaScript - Trying to disable all radio buttons
当按下一个按钮时,我试图禁用所有单选按钮。
到目前为止,我已经将单选按钮上的所有 ID 设置为“1”
HTML代码:
<input id="1" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input id="1" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input id="1" type="checkbox" name="Q1" value="correct"> Callum <br>
JavaScript代码:
document.getElementById("1").disabled = true;
然而,当我对此进行测试时,它只禁用了 1 个单选按钮,而不是全部。有没有办法像我试过的那样禁用它们?
谢谢
<input class="checkbox" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input class="checkbox" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input class="checkbox" type="checkbox" name="Q1" value="correct"> Callum <br>
Javascript 与 class:
var x = document.getElementsByClassName("checkbox");
var i;
for (i = 0; i < x.length; i++) {
x[i].disabled = true;
}
改用这个:
<input id="1" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input id="2" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input id="3" type="checkbox" name="Q1" value="correct"> Callum <br>
Javascript:
var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++)
{
if(inputs[i].type == 'checkbox')
{
inputs[i].disabled = true;
}
}
由于 ID 是唯一的,您不应为所有按钮提供相同的 ID,而是为所有按钮提供相同的 ID class。然后你可以 运行 for loop:
var radioButtons = document.getElementsByClassName("your class name");
for(var i=0;i<radioButtons.length;i++) {
radioButtons[i].disabled = true;
}
您可以使用 forEach 函数在一行中完成。
HTML:
<form if="myForm">
<input id="1" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input id="1" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input id="1" type="checkbox" name="Q1" value="correct"> Callum <br>
</form>
JS ES6:
const form = document.querySelector('#myForm');
form.Q1.forEach(cb => (cb.disabled = true));
JS 香草:
var form = document.querySelector('#myForm');
form.Q1.forEach(function(cb) {
cb.disabled = true;
});
当按下一个按钮时,我试图禁用所有单选按钮。 到目前为止,我已经将单选按钮上的所有 ID 设置为“1”
HTML代码:
<input id="1" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input id="1" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input id="1" type="checkbox" name="Q1" value="correct"> Callum <br>
JavaScript代码:
document.getElementById("1").disabled = true;
然而,当我对此进行测试时,它只禁用了 1 个单选按钮,而不是全部。有没有办法像我试过的那样禁用它们?
谢谢
<input class="checkbox" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input class="checkbox" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input class="checkbox" type="checkbox" name="Q1" value="correct"> Callum <br>
Javascript 与 class:
var x = document.getElementsByClassName("checkbox");
var i;
for (i = 0; i < x.length; i++) {
x[i].disabled = true;
}
改用这个:
<input id="1" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input id="2" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input id="3" type="checkbox" name="Q1" value="correct"> Callum <br>
Javascript:
var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++)
{
if(inputs[i].type == 'checkbox')
{
inputs[i].disabled = true;
}
}
由于 ID 是唯一的,您不应为所有按钮提供相同的 ID,而是为所有按钮提供相同的 ID class。然后你可以 运行 for loop:
var radioButtons = document.getElementsByClassName("your class name");
for(var i=0;i<radioButtons.length;i++) {
radioButtons[i].disabled = true;
}
您可以使用 forEach 函数在一行中完成。
HTML:
<form if="myForm">
<input id="1" type="checkbox" name="Q1" value="incorrect"> Bob <br>
<input id="1" type="checkbox" name="Q1" value="incorrect"> Jim <br>
<input id="1" type="checkbox" name="Q1" value="correct"> Callum <br>
</form>
JS ES6:
const form = document.querySelector('#myForm');
form.Q1.forEach(cb => (cb.disabled = true));
JS 香草:
var form = document.querySelector('#myForm');
form.Q1.forEach(function(cb) {
cb.disabled = true;
});