Raadionuppude kasutamine JavaScriptis

Nüüd töötame raadionuppudega. Need esindavad lülitite rühma, millest saab valida ainult ühe. Et mitu raadionuppu kuuluksid samasse rühma, peavad neil olema sama väärtus atribuudis name:

html<input type="radio" name="elem">
<input type="radio" name="elem">
<input type="radio" name="elem">

Et JavaScriptis eristada, milline täpselt nupp on valitud, lisatakse igale raadionupule rühmas atribuudid value erineva väärtusega:

html<input type="radio" name="elem" value="1">
<input type="radio" name="elem" value="2">
<input type="radio" name="elem" value="3">

Et teha mõni raadionupp vaikimisi märgituks, tuleb sellele määrata atribuut checked:

html<input type="radio" name="elem" value="1" checked>
<input type="radio" name="elem" value="2">
<input type="radio" name="elem" value="3">

Vaatame praktikas, kuidas töötada selliste nuppudega JavaScriptis. Olgu meil üleval esitatud raadionuppude rühm, ning ka tavaline nupp:

html<input type="submit" id="button">

Teeme nii, et nupule vajutades kuvatakse ekraanil praegu valitud raadionupu value.

Ülesande lahendamiseks on vaja tsükliga läbi käia kõik meie raadionupud ja tuvastada, milline neist on valitud. Selleks tuleb lugeda iga vaadeldava raadionupu omaduse checked väärtus. Kellel see omadus võrdub true - see raadionupp ongi valitud.

Rakendame kirjeldatu:

javascriptlet radios = document.querySelectorAll('input[type="radio"]');
let button = document.querySelector('#button');

button.addEventListener('click', function() {
  for (let radio of radios) {
    if (radio.checked) {
      console.log(radio.value);
    }
  }
});
Задание 1

Antud on 3 raadionuppu, lõik ja nupp. Nupule klõpsamisel kuvatakse lõigus valitud raadionupu value.