【徹底解説】JavaScriptでselectボックスの選択された値を取得する5つの方法

2024-04-02

JavaScriptでドロップダウンリストの選択された値を取得する方法

selectedIndex プロパティを使う

最も簡単な方法は、selectedIndexプロパティを使うことです。このプロパティは、選択されているオプションのインデックス番号を返します。

<select id="my-select">
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>
const select = document.getElementById('my-select');
const selectedIndex = select.selectedIndex;
const selectedValue = select.options[selectedIndex].value;

console.log(selectedValue); // 2

selectedOptionsプロパティは、選択されているオプションの配列を返します。

<select id="my-select" multiple>
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>
const select = document.getElementById('my-select');
const selectedOptions = select.selectedOptions;

for (const option of selectedOptions) {
  console.log(option.value);
}

// 1
// 2

changeイベントを使うと、ユーザーがドロップダウンリストの値を変更したときにイベントが発生します。

<select id="my-select">
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>
const select = document.getElementById('my-select');

select.addEventListener('change', () => {
  const selectedValue = select.options[select.selectedIndex].value;
  console.log(selectedValue);
});

その他の方法

上記以外にも、querySelector$.val()などを使って選択された値を取得することができます。

JavaScriptでドロップダウンリストの選択された値を取得するには、いくつかの方法があります。どの方法を使うかは、状況によって異なります。




selectedIndex プロパティを使う

<select id="my-select">
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>

<button onclick="getSelectedValue()">選択された値を取得</button>

<script>
function getSelectedValue() {
  const select = document.getElementById('my-select');
  const selectedIndex = select.selectedIndex;
  const selectedValue = select.options[selectedIndex].value;

  alert(`選択された値は ${selectedValue} です。`);
}
</script>

selectedOptions プロパティを使う

<select id="my-select" multiple>
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>

<button onclick="getSelectedValues()">選択された値を取得</button>

<script>
function getSelectedValues() {
  const select = document.getElementById('my-select');
  const selectedOptions = select.selectedOptions;

  let selectedValues = '';
  for (const option of selectedOptions) {
    selectedValues += `${option.value}, `;
  }

  alert(`選択された値は ${selectedValues.slice(0, -2)} です。`);
}
</script>

change イベントを使う

<select id="my-select">
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>

<p id="selected-value"></p>

<script>
const select = document.getElementById('my-select');
const selectedValueElement = document.getElementById('selected-value');

select.addEventListener('change', () => {
  const selectedValue = select.options[select.selectedIndex].value;
  selectedValueElement.textContent = `選択された値は ${selectedValue} です。`;
});
</script>



ドロップダウンリストの選択された値を取得するその他の方法

querySelectorを使う

<select id="my-select">
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>

<button onclick="getSelectedValue()">選択された値を取得</button>

<script>
function getSelectedValue() {
  const select = document.querySelector('#my-select');
  const selectedValue = select.querySelector('option:selected').value;

  alert(`選択された値は ${selectedValue} です。`);
}
</script>

$.val()を使う (jQuery)

jQueryを使用している場合は、$.val()メソッドを使って選択された値を取得することができます。

<select id="my-select">
  <option value="1">オプション1</option>
  <option value="2">オプション2</option>
  <option value="3">オプション3</option>
</select>

<button onclick="getSelectedValue()">選択された値を取得</button>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<script>
function getSelectedValue() {
  const select = $('#my-select');
  const selectedValue = select.val();

  alert(`選択された値は ${selectedValue} です。`);
}
</script>

その他のライブラリを使う

select2のようなJavaScriptライブラリを使うと、ドロップダウンリストの操作をより簡単にできます。これらのライブラリには、選択された値を取得するためのメソッドが用意されています。


javascript html-select


JavaScriptとHTMLでEnterキーでフォームを送信する方法

ここでは、JavaScriptとHTMLを使って、Enterキーが押された時にフォームを送信する2つの方法を紹介します。この方法は、フォーム全体にイベントリスナーを追加する方法です。この例では、submitFormという関数をonsubmitイベントに設定しています。この関数は、Enterキーが押された時に呼び出され、以下の処理を行います。...


event.clientY と event.offsetHeight プロパティを使用して子要素の dragleave イベントを処理する方法

HTML5 の dragleave イベントは、ドラッグ対象要素からマウスポインターが離れた時に発生します。しかし、子要素にホバーした時にも発生する可能性があり、意図しない動作を引き起こすことがあります。原因:これは、イベントバブリングと呼ばれるブラウザのデフォルト動作によるものです。イベントバブリングとは、子要素で発生したイベントが、親要素にも伝達される仕組みです。...


その他の代替手段:イベント委譲、カスタムイベント、jQuery Migrate プラグイン

問題概要jQuery 1.9にて、イベントハンドリング用のメソッド . live() が廃止されました。そのため、このメソッドを使用しているコードは、1.9以降で実行するとエラーが発生します。影響.live() 関数は、動的に生成された要素に対してイベントハンドリングを設定する際に便利でした。しかし、廃止により、以下のような問題が発生します。...


Node.jsでファイル削除を極める!ディレクトリ内のファイルを効率的に削除する方法

Node. jsでディレクトリ内のすべてのファイルを削除したいけど、ディレクトリ自体は残しておきたい場合は、以下の2つの方法があります。fs モジュールをインポートします。fs. readdirSync を使用して、削除したいディレクトリ内のすべてのファイル名のリストを取得します。...


LocationStrategy サービスを使用する

location オブジェクトを使用する方法利点シンプルで分かりやすいすべてのコンポーネントで利用可能欠点URLの変更を検知するには、ポーリングが必要ハッシュフラグメントを含まないURLを取得するActivatedRoute サービスを使用する...