JavaScript - 尝试禁用所有单选按钮

时间:2015-03-23 13:15:41

标签: javascript html radio-button

按下按钮时,我试图让所有单选按钮都禁用。 到目前为止,我已将单选按钮上的所有ID设置为“1”

HTML code:

    <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个单选按钮而不是所有按钮。有没有办法让他们像我试过的那样禁用它们?

由于

4 个答案:

答案 0 :(得分:0)

您可以使用 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;
});

答案 1 :(得分:-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 with class:

var x = document.getElementsByClassName("checkbox");
var i;
for (i = 0; i < x.length; i++) {
    x[i].disabled = true;
}

答案 2 :(得分:-2)

由于我是唯一的,你不应该给所有按钮提供相同的Id,而是给所有按钮一个相同的类。然后你可以运行循环:

var radioButtons = document.getElementsByClassName("your class name");
for(var i=0;i<radioButtons.length;i++) {
   radioButtons[i].disabled = true;
}

答案 3 :(得分:-3)

请改用:

<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;
      }
}