In HTML, Radio choice buttons allow developers to create multiple options for a selection. The user can select any option and we can get its value and know which option the user selected among multiple options.
Therefore, it is important to check which radio button the user selected to understand their choice from multiple options. Let us understand it through real life examples. When you fill any form and ask to choose gender, you can see they give you three options and you can choose only one.
In this tutorial, we will learn two ways to check if a radio button is selected using JavaScript.
We can access the radio element in JavaScript using various methods. After that we can check if the selected radio button is checked or not using its checked property. If the value of the checked attribute is true, it means that the radio button is selected; otherwise, it is not selected.
Users can check whether the radio button is checked using the checked attribute of the radio element according to the following syntax.
<input type = "radio" name = "radio" value = "male" id = "radio1" > Male</input> <script> let radio1 = document.getElementById('radio1'); if(radio1.checked){ // radio1 is checked } </script>
In the above syntax, we access the radio button using its id and use the checked attribute to check if the radio button is selected in the if statement.
In the example below, we have created three radio buttons containing different values, such as male, female, etc. In JavaScript, we access each radio button by its ID and check the value of each radio button's "checked" attribute.
When the user selects any radio button and clicks on it, they will see a message showing the value of the selected radio button.
<html> <body> <h3>Using the <i>checked property</i> of the radio button to check whether a radio button is selected.</h3> <input type = "radio" name = "radio" value = "male" id = "radio1" > Male </input> <br> <input type = "radio" name = "radio" value = "female" id = "radio2" > Female </input><br> <input type = "radio" name = "radio" value = "other" id = "radio3" /> Other </input> <p id = "output"> </p> <button onclick = "checkRadio()"> Check radio </button> <script> let output = document.getElementById("output"); function checkRadio(){ // accessing the radio buttons let radio1 = document.getElementById('radio1'); let radio2 = document.getElementById('radio2'); let radio3 = document.getElementById('radio3'); // checking if any radio button is selected if(radio1.checked){ output.innerHTML = "The radio button with value " + radio1.value + " is checked!"; } if(radio2.checked){ output.innerHTML = "The radio button with value " + radio2.value + " is checked!"; } if(radio3.checked){ output.innerHTML = "The radio button with value " + radio3.value + " is checked!"; } } </script> </body> </html>
The example below is almost the same as the one above, except that we access all the radio buttons at once using their names. The getElementByName() method returns all radio elements named radio.
After that, we use a for-of loop to loop through the radio button array and check if each radio button is checked using the "checked" attribute.
<html> <body> <h3>Using the <i>checked property</i> of the radio button to check whether a radio button is selected</h3> <input type = "radio" name = "radio" value = "10" id = "radio1"> 10 </input> <br> <input type = "radio" name = "radio" value = "20" id = "radio2"> 20 </input> <br> <input type = "radio" name = "radio" value = "30" id = "radio3" /> 30 </input> <p id = "output"> </p> <button onclick = "getSelectedRadio()"> Check radio </button> <script> let output = document.getElementById("output"); function getSelectedRadio() { let radioButtons = document.getElementsByName('radio'); for (let radio of radioButtons) { if (radio.checked) { output.innerHTML = "The radio button is selected and it's value is " + radio.value; } } } </script> </body> </html>
Programmers can use JavaScript's querySelector() method to select any HTML element. Here we use querySelector() method to select only the selected radio buttons. If the radio button is not selected, a null value is returned.
Users can use the querySelector() method according to the following syntax to check whether the radio button is selected.
var selected = document.querySelector('input[name="year"]:checked');
In the above syntax, "year" is the name of the radio button group, and it returns any radio button that belongs to the "year" group and is selected.
In the example below, we have created three radio buttons to provide the user with three different choices. When the user clicks the "Check Selected Year" button, it calls the getSelectedRadio() function, which selects the radio button named "year" using the querySelector() method and checks it from the DOM.
The user can click the button and observe the output without selecting any radio button.
<html> <body> <h3>Using the <i> querySelector() method </i> to check whether a radio button is selected.</h3> <input type = "radio" name = "year" value = "1999" id = "radio1"> 1999 </input><br> <input type = "radio" name = "year" value = "2021" id = "radio2"> 2021 </input><br> <input type = "radio" name = "year" value = "2001" id = "radio3" /> 2001 </input> <p id="output"></p> <button onclick="getSelectedRadio()">Check selected year</button> <script> let output = document.getElementById("output"); function getSelectedRadio() { var selected = document.querySelector( 'input[name="year"]:checked'); if (selected) { output.innerHTML += "Radio button is selected." } else { output.innerHTML += "Not any radio button is selected!" } } </script> </body> </html>
Users learned two different ways to get the selected radio button using JavaScript. The best way is to use querySelector() method as we only need to write one line of code.
The above is the detailed content of How to check if a radio button is selected using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!