我有一个名为"选择"的单选按钮,其中包括"是"和"否"两个选项。如果我选择其中任何一个选项,并点击标记为"清除"的按钮,则需要使用JavaScript清除所选选项。如何实现这一点?
我有一个名为"选择"的单选按钮,其中包括"是"和"否"两个选项。如果我选择其中任何一个选项,并点击标记为"清除"的按钮,则需要使用JavaScript清除所选选项。如何实现这一点?
元素无需拥有唯一的 id
,您可以通过它们的name
属性来访问它们:
如果您正在使用name="Choose"
,那么:
$('input[name=Choose]').prop('checked',false);
$('input[name=Choose]').attr('checked',false);
var ele = document.getElementsByName("Choose");
for(var i=0;i<ele.length;i++)
ele[i].checked = false;
如果您不打算使用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;
}
加入一个第三个按钮(“无任何选择”)是否是更好的替代方案,它将会产生与没有选择相同的结果?
$('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">
简单易用,无需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>
let el = document.getElementById('your_input_id');
el.checked = false;
el.removeAttribute('checked');