JavaScript Array.from() メソッドでセレクトボックスのoptionをforEachでループする
環境
Windows 10 home 64bit
Google Chrome 107.0.5304.122
書式
1.select要素をidで取得します
const 変数名1 =document.getElementById('セレクトボックスのID名’)
2.セレクトボックスのoption要素を取得します。
const 変数名2 =変数名1.options;
3.セレクトボックスのoption要素をループします
Array.from(変数名2).forEach(function(引数){処理コード});
使用例
<!DOCTYPE html>
<html>
<body>
都市名:
<select id="city" name="city" >
<option value="tokyo" selected>東京</option>
<option value="oosaka">大阪</option>
<option value="fukuoka" disabled>福岡</option>
</select>
<script>
//select要素をidで取得
const city = document.getElementById('city');
//option要素を取得
const cft = city.options;
//HTMLCollectionを配列に変換してループ
Array.from(cft).forEach(function(e) {
//option要素のラベル
console.log('ラベル:' + e.label)
//option要素の値
console.log('要素の値:' + e.value)
//option要素の選択状態
console.log('選択状態:' + e.selected)
//option要素の有効無効状態
console.log('無効状態:' + e.disabled)
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
都市名:
<select id="city" name="city" >
<option value="tokyo" selected>東京</option>
<option value="oosaka">大阪</option>
<option value="fukuoka" disabled>福岡</option>
</select>
<script>
//select要素をidで取得
const city = document.getElementById('city');
//option要素を取得
const cft = city.options;
//HTMLCollectionを配列に変換してループ
Array.from(cft).forEach(function(e) {
//option要素のラベル
console.log('ラベル:' + e.label)
//option要素の値
console.log('要素の値:' + e.value)
//option要素の選択状態
console.log('選択状態:' + e.selected)
//option要素の有効無効状態
console.log('無効状態:' + e.disabled)
});
</script>
</body>
</html>
<!DOCTYPE html> <html> <body> 都市名: <select id="city" name="city" > <option value="tokyo" selected>東京</option> <option value="oosaka">大阪</option> <option value="fukuoka" disabled>福岡</option> </select> <script> //select要素をidで取得 const city = document.getElementById('city'); //option要素を取得 const cft = city.options; //HTMLCollectionを配列に変換してループ Array.from(cft).forEach(function(e) { //option要素のラベル console.log('ラベル:' + e.label) //option要素の値 console.log('要素の値:' + e.value) //option要素の選択状態 console.log('選択状態:' + e.selected) //option要素の有効無効状態 console.log('無効状態:' + e.disabled) }); </script> </body> </html>
実行結果
ラベル:東京
要素の値:tokyo
選択状態:true
無効状態:false
ラベル:大阪
要素の値:oosaka
選択状態:false
無効状態:false
ラベル:福岡
要素の値:fukuoka
選択状態:false
無効状態:true