我的网页上有几组复选框。我想用 javascript 取消选中它们。现在,我通过查找每个集合的名称并使用像这样的 FOR 循环取消选中它们来做到这一点...
for (i=0;i<document.getElementsByName("myboxes").length;i++) {
document.getElementsByName("myboxes")[i].checked=false;}
for (i=0;i<document.getElementsByName("moreboxes").length;i++) {
document.getElementsByName("moreboxes")[i].checked=false;}
for (i=0;i<document.getElementsByName("evenmoreboxes").length;i++) {
document.getElementsByName("evenmoreboxes")[i].checked=false;}
我正在寻找一种通过一个循环来定位所有目标的方法。我可以getElementsByTagName('input')
以所有输入为目标,但这是一个问题,因为我有一些我不想取消选中的 radio 输入。有没有办法定位所有 checkbox inputs
?
感谢您的建议。我刚刚想到一件事。我使用的每个名称中都包含“boxes”一词,myboxes、moreboxes,甚至moreboxes。有没有办法在名称中定位单词“boxes”,例如通配符,例如 document.getElementsByName("*boxes")
这样,如果我在某个时刻添加一组我不想取消选中的复选框,我可以简单地以不同的方式命名它们。
最佳答案
您可以选择所有选中的复选框并重置其状态:
function uncheckAll() {
document.querySelectorAll('input[name$="boxes"]:checked')
.forEach(checkbox => checkbox.checked = false);
}
<input type="checkbox"/>
<input type="checkbox" name="a_boxes" checked/>
<input type="checkbox"/>
<input type="checkbox" name="b_boxes" checked/>
<input type="checkbox" name="c_boxes" checked/>
<button onclick="uncheckAll()">Reset</button>
关于javascript - 如何一次禁用网页上的所有复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372487/