我找到了重置radiobuttons的解决方案。
下一个例子适用于4个无线电组:
<script type="text/javascript">
function uncheckRadio()
{
for(x=0; x<document.QuizForm.Q01.length; x++){document.QuizForm.Q01[x].checked = false;}
for(x=0; x<document.QuizForm.Q02.length; x++){document.QuizForm.Q02[x].checked = false;}
for(x=0; x<document.QuizForm.Q03.length; x++){document.QuizForm.Q03[x].checked = false;}
for(x=0; x<document.QuizForm.Q04.length; x++){document.QuizForm.Q04[x].checked = false;}
}
</script>
但现在我想通过应用嵌套循环从01到80迭代,在一个(多选)形式中重置80个无线电组。
尝试了几种使用嵌套循环的方法,但不知怎的,我找不到让Q01,Q02等迭代工作的方法......
非常感谢
答案 0 :(得分:0)
在支持这些标准的浏览器中,您可以使用querySelectorAll,如果您确定没有其他带name
属性且以“Q”开头的广播:
var radios = document.QuizForm.querySelectorAll("input[type=radio][name^=Q]:checked");
for (var l = radios.length; l > 0;)
radios[--l].checked = false;
否则您可以使用方括号表示法:
var elements = document.QuizForm.elements;
var prefix;
for (var l = 80; l > 1; l--) {
prefix = l < 10 ? "Q0" : "Q";
elements[prefix + l].checked = false;
}