开发者

How to clear radio button in Javascript?

开发者 https://www.devze.com 2022-12-25 11:00 出处:网络
I have a radio button named \"Choose\" with the options 开发者_Go百科yes and no. If I select any one of the options and click the button labeled \"clear\", I need to clear the selected option, using j

I have a radio button named "Choose" with the options 开发者_Go百科yes and no. If I select any one of the options and click the button labeled "clear", I need to clear the selected option, using javascript. How can I accomplish that?


You don't need to have unique id for the elements, you can access them by their name attribute:

If you're using name="Choose", then:

With recent jQuery

$('input[name=Choose]').prop('checked',false);

With old jQuery (<1.6)

$('input[name=Choose]').attr('checked',false);

or in pure JavaScript

var ele = document.getElementsByName("Choose");
for(var i=0;i<ele.length;i++)
    ele[i].checked = false;

Demo for JavaScript


If you do not intend to use jQuery, you can use simple javascript like this

document.querySelector('input[name="Choose"]:checked').checked = false;

Only benefit with this is you don't have to use loops for two radio buttons


This should work. Make sure each button has a unique ID. (Replace Choose_Yes and Choose_No with the IDs of your two radio buttons)

document.getElementById("Choose_Yes").checked = false;
document.getElementById("Choose_No").checked = false;

An example of how the radio buttons should be named:

<input type="radio" name="Choose" id="Choose_Yes" value="1" /> Yes
<input type="radio" name="Choose" id="Choose_No" value="2" /> No


An ES6 approach to clearing a group of radio buttons:

    Array.from( document.querySelectorAll('input[name="group-name"]:checked'), input => input.checked = false );


Wouldn't a better alternative be to just add a third button ("neither") that will give the same result as none selected?


In my case this got the job done:

const chbx = document.getElementsByName("input_name");

for(let i=0; i < chbx.length; i++) {
    chbx[i].checked = false;
}


Simple, no jQuery required:

<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>


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">


if the id of the radio buttons are 'male' and 'female', value reset can be done by using jquery

$('input[id=male]').attr('checked',false);
$('input[id=female]').attr('checked',false);


<form>
  <input type="radio" name="btn"> Item1
  <input type="radio" name="btn"> Item2<br>
  <input type="reset">
</form>

This could work..

0

精彩评论

暂无评论...
验证码 换一张
取 消