【初心者向け】jQueryを使ってドロップダウンリストから選択したテキストを取得する方法

2024-04-02

jQueryを使用してドロップダウンリストから選択したテキストを取得する

このチュートリアルでは、jQueryを使用してドロップダウンリスト(selectボックス)から選択されたテキストを取得する方法を解説します。

前提条件

  • HTMLの基本的な知識
  • jQueryライブラリの理解

手順

  1. HTMLファイルに以下のコードを記述します。
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>jQueryでドロップダウンリストから選択したテキストを取得</title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
  <select id="my-select">
    <option value="1">選択してください</option>
    <option value="2">オプション1</option>
    <option value="3">オプション2</option>
  </select>
  <p id="selected-text"></p>
  <script>
    // 選択されたテキストを取得する
    $("#my-select").change(function() {
      var selectedText = $(this).find("option:selected").text();
      // 選択されたテキストをp要素に表示
      $("#selected-text").text(selectedText);
    });
  </script>
</body>
</html>
  1. 上記のコードをブラウザで開くと、ドロップダウンリストが表示されます。
  2. ドロップダウンリストからオプションを選択すると、選択されたテキストがp要素に表示されます。

コード解説

  • $("#my-select")id属性がmy-selectであるselect要素を取得します。
  • .change(function()):select要素のchangeイベントが発生した時に実行される関数を指定します。
  • $(this).find("option:selected"):select要素内にあるselected属性を持つoption要素を取得します。
  • .text():option要素のテキスト内容を取得します。
  • $("#selected-text").text(selectedText):p要素のテキスト内容をselectedTextに設定します。

補足

  • 上記のコードは、select要素内にoption要素が1つだけ選択される場合にのみ使用できます。
  • 複数のoption要素を選択できるようにするには、$("#my-select").val()を使用します。



サンプル1:基本的な方法

<select id="my-select">
  <option value="1">選択してください</option>
  <option value="2">オプション1</option>
  <option value="3">オプション2</option>
</select>

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

<script>
$(document).ready(function() {
  // 選択されたテキストを取得する
  $("#my-select").change(function() {
    var selectedText = $(this).find("option:selected").text();
    // 選択されたテキストをp要素に表示
    $("#selected-text").text(selectedText);
  });
});
</script>

サンプル2:複数のoption要素を選択できるようにする

<select id="my-select" multiple>
  <option value="1">選択してください</option>
  <option value="2">オプション1</option>
  <option value="3">オプション2</option>
</select>

<ul id="selected-texts"></ul>

<script>
$(document).ready(function() {
  // 選択されたテキストを取得する
  $("#my-select").change(function() {
    var selectedTexts = [];
    $(this).find("option:selected").each(function() {
      selectedTexts.push($(this).text());
    });
    // 選択されたテキストをul要素に表示
    $("#selected-texts").empty();
    for (var i = 0; i < selectedTexts.length; i++) {
      $("#selected-texts").append("<li>" + selectedTexts[i] + "</li>");
    }
  });
});
</script>

サンプル3:val()メソッドを使用する

<select id="my-select">
  <option value="1">選択してください</option>
  <option value="2">オプション1</option>
  <option value="3">オプション2</option>
</select>

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

<script>
$(document).ready(function() {
  // 選択されたテキストを取得する
  $("#my-select").change(function() {
    var selectedText = $(this).val();
    // 選択されたテキストをp要素に表示
    $("#selected-text").text(selectedText);
  });
});
</script>

サンプル4:イベントハンドラを別の方法で記述する

<select id="my-select">
  <option value="1">選択してください</option>
  <option value="2">オプション1</option>
  <option value="3">オプション2</option>
</select>

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

<script>
$(document).ready(function() {
  // 選択されたテキストを取得する
  $("#my-select").on("change", function() {
    var selectedText = $(this).find("option:selected").text();
    // 選択されたテキストをp要素に表示
    $("#selected-text").text(selectedText);
  });
});
</script>

これらのサンプルコードは、さまざまな方法でjQueryを使用してドロップダウンリストから選択したテキストを取得する方法を示しています。ニーズに合わせてコードを参考にしてください。




ドロップダウンリストから選択したテキストを取得する他の方法

JavaScriptのネイティブメソッドを使用する

以下のコードは、JavaScriptのネイティブメソッドを使用してドロップダウンリストから選択したテキストを取得する方法を示しています。

<select id="my-select">
  <option value="1">選択してください</option>
  <option value="2">オプション1</option>
  <option value="3">オプション2</option>
</select>

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

<script>
// 選択されたテキストを取得する
var selectedText = document.getElementById("my-select").options[document.getElementById("my-select").selectedIndex].text;

// 選択されたテキストをp要素に表示
document.getElementById("selected-text").textContent = selectedText;
</script>

この方法は、jQueryを使用するよりも簡潔ですが、ブラウザの互換性に注意する必要があります。

DOM操作を使用する

<select id="my-select">
  <option value="1">選択してください</option>
  <option value="2">オプション1</option>
  <option value="3">オプション2</option>
</select>

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

<script>
// 選択されたテキストを取得する
var selectedText = document.querySelector("#my-select option:selected").textContent;

// 選択されたテキストをp要素に表示
document.getElementById("selected-text").textContent = selectedText;
</script>

ライブラリを使用する

jQuery以外にも、さまざまなライブラリを使用してドロップダウンリストから選択したテキストを取得することができます。

これらのライブラリは、さまざまな機能を提供しており、ニーズに合わせて選ぶことができます。


javascript jquery dom


【超便利】JavaScriptで月末日を取得する3つのライフハック

JavaScriptで月末日を取得するにはいくつかの方法があります。方法 1: DateオブジェクトのgetMonth()とsetDate()メソッドを使用する現在の日付を取得するためにDateオブジェクトを作成します。getMonth()メソッドを使用して、現在の日付の月を取得します。...


JavaScript正規表現:グループを使いこなして処理を効率化

match メソッドは、正規表現と一致する部分文字列を配列として返します。この配列の最初の要素は、全体一致した文字列です。そして、2番目以降の要素は、グループに一致した文字列が順番に格納されます。この例では、電話番号を表す正規表現を使用しています。(\d{3}) というグループは、3桁の数字に一致します。そして、matches 配列の 2番目から 4番目までの要素には、それぞれグループに一致した数字が格納されています。...


【初心者向け】jQuery UI ダイアログの閉じるボタンを簡単に削除する方法

この問題を解決するには、以下の3つの方法があります。dialog オプションの closeOnEscape プロパティを false に設定することで、Esc キーを押してもダイアログが閉じないようにすることができます。また、draggable プロパティを false に設定することで、ユーザーがダイアログをドラッグして移動できないようにすることもできます。...


ブラウザ/タブ アクティブ判定におけるJavaScriptとjQueryの比較:ユースケース別解説

document. hidden プロパティは、ブラウザタブがアクティブかどうかを示すブーリアン値です。タブがアクティブな場合は false 、非アクティブな場合は true になります。visibilitychange イベントは、ブラウザタブの可視性が変化したときに発生します。このイベントリスナーを追加することで、タブがアクティブになったときと非アクティブになったときの処理を記述できます。...


Immutable.jsを使ってReact.jsでstate配列を安全に更新する方法

JavaScriptの配列はミュータブル(書き換え可能)ですが、React. jsのstateに格納する場合はイミュータブル(書き換え不能)として扱う必要があります。例えば、以下のコードは誤った方法です。このコードは、fruits配列に直接ドリアンを追加しようとします。しかし、React...