[JavaScript] セレクトボックスの選択しているテキストを取得する方法

1 min read

セレクトボックスの value は POST する時は欲しいんだけれど、例えばバリデーションなんかでユーザ側に「この値を入力(選択)しましたよ」って表示したいときは text 部分の値が欲しい。

前提

こういうセレクトボックスがあった時に、value="0"であれば杉下右京を取得したい。

<select>
  <option value="0">杉下 右京</option>
  <option value="1">亀山 薫</option>
  <option value="2">神戸 尊</option>
  <option value="3">甲斐 享</option>
  <option value="4">冠城 亘</option>
</select>

実装

let result = document.querySelector(".result");
let select = document.querySelector("select");

select.addEventListener("change", function () {
  let options = this.options;
  result.textContent = options[options.selectedIndex].text;
});

対象の select 要素で選択中の option 要素からテキストを取得だけ。