JavaScript document.querySelectorでラジオグループの選択値を取得する方法

環境
Google Chrome 111.0.5563.65
Windows 10 Home 64bit

書式
1.選択されたラジオを querySelector関数で取得します
var 変数名 = document.querySelector('[name="要素name"]:checked’);

2.ラジオ要素から選択された項目の値を取得します。
選択されたラジオボタンの値の取得
変数名.val

3.選択されたラジオボタンのテキスト内容を取得
変数名.parentElement.innerText;

4.addEventListener()でイベントの登録
window.addEventListener('load’,function(){処理コード

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<!DOCTYPE html>
<html>
<body>
<form id="cityGroup">
<label>
<input name="city" type="radio" value="tokyo">
東京(tokyo)
</label><br>
<label>
<input name="city" type="radio" value="oosaka">
大阪(oosaka)
</label><br>
</form>
<br>
<div id="showCity">
<!-- ここに選択値とか表示 -->
</div>
<script>
window.addEventListener('load',function(){
const rdGrp = document.getElementById('cityGroup');
// ラジオのクリックイベントを取得
rdGrp.addEventListener('click', function(){
// 選択された値とか要素内テキスト取得
var rdo = document.querySelector('[name="city"]:checked');
var val = rdo.value;
var text = rdo.parentElement.innerText;
//div要素に結果を表示
var res = document.getElementById('showCity');
res.innerHTML ='value: ' + val;
res.innerHTML +='<br> ';
res.innerHTML +='City: ' + text;
});
});
</script>
</body>
</html>
<!DOCTYPE html> <html> <body> <form id="cityGroup"> <label> <input name="city" type="radio" value="tokyo"> 東京(tokyo) </label><br> <label> <input name="city" type="radio" value="oosaka"> 大阪(oosaka) </label><br> </form> <br> <div id="showCity"> <!-- ここに選択値とか表示 --> </div> <script> window.addEventListener('load',function(){ const rdGrp = document.getElementById('cityGroup'); // ラジオのクリックイベントを取得 rdGrp.addEventListener('click', function(){ // 選択された値とか要素内テキスト取得 var rdo = document.querySelector('[name="city"]:checked'); var val = rdo.value; var text = rdo.parentElement.innerText; //div要素に結果を表示 var res = document.getElementById('showCity'); res.innerHTML ='value: ' + val; res.innerHTML +='<br> '; res.innerHTML +='City: ' + text; }); }); </script> </body> </html>
<!DOCTYPE html>
<html>
<body>

<form id="cityGroup">
  <label>
    <input name="city" type="radio" value="tokyo">
    東京(tokyo)
  </label><br>
  <label>
    <input name="city" type="radio" value="oosaka"> 
    大阪(oosaka)
  </label><br>
</form>
 <br>
<div id="showCity">
  <!-- ここに選択値とか表示 -->
</div>

<script>

window.addEventListener('load',function(){
  const rdGrp = document.getElementById('cityGroup');
    
    // ラジオのクリックイベントを取得
  rdGrp.addEventListener('click', function(){
    // 選択された値とか要素内テキスト取得
    var rdo = document.querySelector('[name="city"]:checked');
    var val = rdo.value;
    var text = rdo.parentElement.innerText;
  
    //div要素に結果を表示
    var res = document.getElementById('showCity');
    res.innerHTML ='value: ' + val;
    res.innerHTML +='<br> ';  
    res.innerHTML +='City: ' + text;
   });
});

</script>

</body>
</html>

実行結果
「大阪(oosaka)」を選択すると、Div要素「showCity」
に「value: oosaka
City: 大阪(oosaka)」が表示されます

JavaScript

Posted by arkgame