如何使用顺序ID禁用多个单选按钮
How to disable multiple radio buttons with sequential ids?
我需要禁用所有单选按钮;最好的方法是使用javascript,但我不太擅长;我试着循环id,但这是一场灾难!我最终使用6行禁用每个单选按钮;我能把的效率提高一点吗
document.getElementById("radio1").disabled = true;
document.getElementById("radio2").disabled = true;
document.getElementById("radio3").disabled = true;
document.getElementById("radio4").disabled = true;
document.getElementById("radio5").disabled = true;
document.getElementById("radio6").disabled = true;
Radio Buttons:<br>
<input type="radio" id="radio1">1<br>
<input type="radio" id="radio2">2<br>
<input type="radio" id="radio3">3<br>
<input type="radio" id="radio4" checked>4<br>
<input type="radio" id="radio5">5<br>
<input type="radio" id="radio6">6
您可以使用querySelectorAll()
选择具有type="radio"
的所有输入,然后使用循环在每个上设置disabled = true
var inputs = document.querySelectorAll('input[type="radio"]');
for (var i = 0; i < inputs.length; i++) {
inputs[i].disabled = 'true';
}
Radio Buttons:
<br>
<input type="radio" id="radio1">1<br>
<input type="radio" id="radio2">2<br>
<input type="radio" id="radio3">3<br>
<input type="radio" id="radio4" checked>4<br>
<input type="radio" id="radio5">5<br>
<input type="radio" id="radio6">6
不确定为什么循环是一场灾难。我会这样做:
for (var i = 1; i <= 6; i++) {
document.getElementById("radio" + i).disabled = true;
}
或者:
var ids = ['radio1', 'radio2', 'radio3', 'radio4', 'radio5', 'radio6'];
ids.forEach(function (id) {
document.getElementById(id).disabled = true;
});
您可以使用css选择器(document.querySelectorAll):
var radios = document.querySelectorAll("[id^='radio']"); //get all elements that have an id starting with 'radio'
for (var i = 0; i < radios.length; i++) {
radios[i].disabled = true;
}
你可以沿着这条线做一些事情
// load all the inputs in the document into memory
var inputs = document.getElementsByTagName("input");
// loop over them, and set the disabled attribute on each of them
for (var i = 0; i < inputs.length; i++) {
inputs[i].disabled = true;
}
请注意,通过执行document.getElementsByTagName("input")
,您可以收集页面中所有的输入,因此更好的方法是将它们包装在容器中,并在容器上执行表达式,如下所示:
<div id="input-container">
<input type="radio" id="radio1">
...
</div>
然后
var container = document.getElementById("input-container");
var inputs = container.getElementsByTagName("input");
循环保持相同的
相关文章:
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 如何使用单选按钮设置cookie值
- 如何使用jQuery从DOM中删除所有单选按钮元素
- 使用提交按钮隐藏未选中的单选按钮
- 将 checkedValue 绑定与单选按钮一起使用
- Angularjs单选按钮未使用名称进行选择
- 如何将 NGROUTE 与用于更改视图的单选按钮一起使用
- 其他单选按钮在使用 Javascript 函数根据 if 语句选择某些单选按钮后不可单击
- 单选按钮值使用 Ajax PHP MySQL 发送
- 如何根据最后选择的选项(单选按钮)使用 javascript 隐藏表单输入
- 如何读取是否选中单选按钮并使用 JavaScript 将其另存为 1
- 单选按钮如何使用函数中确定的值预先选择值
- ReactJS:如何在单选按钮中使用布尔值
- 将if-else语句与javascript中的单选按钮一起使用
- 如何从mysql中获取结果,并在单击单选按钮时使用jquery进行显示
- 选中单选按钮,使用用户输入javascript执行数学表达式
- 单选按钮在使用引导手风琴时不能与数据切换一起工作
- 通过单选按钮更改使用JavaScript显示的图像
- 将Jquery与单选按钮一起使用
- 在单选按钮上使用jQuery live方法