【发布时间】:2011-02-02 23:46:39
【问题描述】:
我有一个名为“选择”的单选按钮,其中包含“是”和“否”选项。如果我选择任何一个选项并单击标有“清除”的按钮,我需要使用 javascript 清除所选选项。我怎样才能做到这一点?
【问题讨论】:
标签: javascript html
我有一个名为“选择”的单选按钮,其中包含“是”和“否”选项。如果我选择任何一个选项并单击标有“清除”的按钮,我需要使用 javascript 清除所选选项。我怎样才能做到这一点?
【问题讨论】:
标签: javascript html
您不需要为元素设置唯一的id,您可以通过它们的name 属性访问它们:
如果您使用的是name="Choose",那么:
使用 jQuery 就这么简单:
$('input[name=Choose]').attr('checked',false);或纯 JavaScript:
var ele = document.getElementsByName("选择"); for(var i=0;i【讨论】:
如果你不打算使用jQuery,你可以使用像这样的简单javascript
document.querySelector('input[name="Choose"]:checked').checked = false;
这样做的唯一好处是您不必为两个单选按钮使用循环
【讨论】:
这应该可行。确保每个按钮都有唯一的 ID。 (将 Choose_Yes 和 Choose_No 替换为您的两个单选按钮的 ID)
document.getElementById("Choose_Yes").checked = false;
document.getElementById("Choose_No").checked = false;
如何命名单选按钮的示例:
<input type="radio" name="Choose" id="Choose_Yes" value="1" /> Yes
<input type="radio" name="Choose" id="Choose_No" value="2" /> No
【讨论】:
清除一组单选按钮的 ES6 方法:
Array.from( document.querySelectorAll('input[name="group-name"]:checked'), input => input.checked = false );
【讨论】:
添加第三个按钮(“两者都没有”)会产生与未选择相同的结果,难道不是更好的选择吗?
【讨论】:
就我而言,这完成了工作:
const chbx = document.getElementsByName("input_name");
for(let i=0; i < chbx.length; i++) {
chbx[i].checked = false;
}
【讨论】:
简单,无需 jQuery:
<a href="javascript:clearChecks('group1')">clear</a>
<script type="text/javascript">
function clearChecks(radioName) {
var radio = document.form1[radioName]
for(x=0;x<radio.length;x++) {
document.form1[radioName][x].checked = false
}
}
</script>
【讨论】:
如果单选按钮的id是'male'和'female',可以使用jquery来重置值
$('input[id=male]').attr('checked',false);
$('input[id=female]').attr('checked',false);
【讨论】:
YES<input type="radio" name="group1" id="sal" value="YES" >
NO<input type="radio" name="group1" id="sal1" value="NO" >
<input type="button" onclick="document.getElementById('sal').checked=false;document.getElementById('sal1').checked=false">
【讨论】: