Home > Web Front-end > JS Tutorial > body text

How to check if a radio button is selected using JavaScript?

王林
Release: 2023-08-24 21:49:02
forward
1907 people have browsed it

如何使用 JavaScript 检查单选按钮是否被选中?

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.

Use the checked attribute of the radio button

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.

grammar

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>
Copy after login

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.

Example

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>
Copy after login

Example

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>
Copy after login

Use querySelector() method to check whether the radio button is selected

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.

grammar

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');
Copy after login

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.

Example

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>
Copy after login

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!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!