HTMLラジオボタンの値をJavaScriptで取得・設定する
JavaScriptでHTMLラジオボタンの値を取得する場合はvalueプロパティを使用します。 ラジオボタンの選択状態を取得・設定するにはcheckedプロパティを使用します。
ラジオボタンは通常グループで利用しますから、 id属性を設定するよりも、name属性を使って要素群を取得します。
ラジオボタンの値を取得する
次のサンプルコードでは、name属性が「age」のラジオボタンの値を取得しています。
HTML
<form> <label><input type="radio" name="age" value="10">10代</label> <label><input type="radio" name="age" value="20">20代</label> <label><input type="radio" name="age" value="30">30代</label> </form>
JavaScript
let elems = document.getElementsByName("age"); let val = ""; for (let i = 0; i < elems.length; i++) { if (elems[i].checked){ val = elems[i].value; } } // end for i console.log(val);
例えば、「20代」の項目を選択している場合の結果は次の通りです。
実行結果
20
ラジオボタンの値を取得する場合は、 まずgetElementsByNameメソッドを利用して同じname属性の要素群を取得します。
次に要素群をループして、checkedプロパティがtrueの要素のvalueを取得します。
ラジオボタンの値を設定する
次のサンプルコードでは、name属性が「age」のラジオボタン群の中から、 value属性が「30」のラジオボタンを選択しています。 HTMLは先程と同じものを使用しています。
HTML
<form> <label><input type="radio" name="age" value="10">10代</label> <label><input type="radio" name="age" value="20">20代</label> <label><input type="radio" name="age" value="30">30代</label> </form>
JavaScript
let val = 30; let elems = document.getElementsByName("age"); for (let i = 0; i < elems.length; i++) { if (elems[i].value == val){ elems[i].checked = true; } }
まずgetElementsByNameメソッドでname属性「age」の要素群を取得します。
次に要素群をループして、value属性値が目的の値「30」と一致する、 ラジオボタンのcheckedプロパティをtrueにします。