【応用】jQueryで複数選択されたチェックボックスの値を取得する方法

2024-04-02

jQueryでチェックボックスの値を取得する

:checked セレクタを使う

以下のコードは、name属性がfruitsのチェックボックスのうち、チェックされているもの全てを取得します。

<input type="checkbox" name="fruits" value="apple"> リンゴ
<input type="checkbox" name="fruits" value="banana"> バナナ
<input type="checkbox" name="fruits" value="orange"> オレンジ
// チェックされているチェックボックスを取得
const checkedFruits = $('input[name="fruits"]:checked');

// 各チェックボックスの値を出力
checkedFruits.each(function() {
  console.log($(this).val());
});

prop() メソッドを使う

以下のコードは、id属性がmy-checkboxのチェックボックスの値を取得します。

<input type="checkbox" id="my-checkbox" value="banana"> バナナ
// チェックボックスの値を取得
const fruitValue = $('#my-checkbox').prop('checked');

// 値を出力
console.log(fruitValue);
<input type="checkbox" name="fruits" value="apple"> リンゴ
<input type="checkbox" name="fruits" value="banana"> バナナ
<input type="checkbox" name="fruits" value="orange"> オレンジ
// チェックされているチェックボックスの値を取得
const checkedFruits = $('input[name="fruits"]:checked').val();

// 値を出力
console.log(checkedFruits); // ["apple", "banana"]

複数のチェックボックスの値を取得する

上記の例は、いずれも単一のチェックボックスの値を取得する方法です。複数のチェックボックスの値を取得するには、以下の方法があります。

// チェックされているチェックボックスの値を取得
$('input[name="fruits"]:checked').each(function() {
  console.log($(this).val());
});
// チェックされているチェックボックスの値を取得
const checkedFruits = $('input[name="fruits"]:checked').map(function() {
  return $(this).val();
}).get();

// 値を出力
console.log(checkedFruits); // ["apple", "banana"]

これらの方法を参考に、ご自身の目的に合った方法でチェックボックスの値を取得してください。




<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>チェックボックスの値を取得</title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
  <h1>チェックボックスの値を取得</h1>
  <form>
    <input type="checkbox" name="fruits" value="apple"> リンゴ
    <input type="checkbox" name="fruits" value="banana"> バナナ
    <input type="checkbox" name="fruits" value="orange"> オレンジ
    <button type="button">送信</button>
  </form>

  <script>
  $(function() {
    // 送信ボタンクリック時
    $('button').click(function() {
      // チェックされているチェックボックスの値を取得
      const checkedFruits = $('input[name="fruits"]:checked').val();

      // 値を出力
      console.log(checkedFruits); // ["apple", "banana"]
    });
  });
  </script>
</body>
</html>

上記コードをHTMLファイルに保存し、ブラウザで開きます。チェックボックスをいくつか選択し、送信ボタンをクリックすると、選択したチェックボックスの値がコンソールに出力されます。

ポイント

  • 上記コードでは、jQueryライブラリを使用しています。
  • :checkedセレクタを使用して、チェックされているチェックボックスのみを取得しています。
  • val()メソッドを使用して、チェックボックスの値を取得しています。

上記のサンプルコード以外にも、チェックボックスの値を取得する方法はいくつかあります。詳しくは、以下の参考資料を参照してください。




チェックボックスの値を取得するその他の方法

<input type="checkbox" id="my-checkbox" value="banana"> バナナ
// チェックボックスの値を取得
const fruitValue = $('#my-checkbox').prop('checked');

// 値を出力
console.log(fruitValue); // true
<input type="checkbox" name="fruits" value="apple"> リンゴ
<input type="checkbox" name="fruits" value="banana"> バナナ
<input type="checkbox" name="fruits" value="orange"> オレンジ
// チェックされているチェックボックスを取得
const checkedFruits = $('input[name="fruits"]').is(':checked');

// 値を出力
console.log(checkedFruits); // [true, true, false]
<input type="checkbox" name="fruits" value="apple"> リンゴ
<input type="checkbox" name="fruits" value="banana"> バナナ
<input type="checkbox" name="fruits" value="orange"> オレンジ
// チェックされているチェックボックスの値を取得
const checkedFruits = [];
$('input[name="fruits"]').each(function() {
  if ($(this).is(':checked')) {
    checkedFruits.push($(this).val());
  }
});

// 値を出力
console.log(checkedFruits); // ["apple", "banana"]
<input type="checkbox" name="fruits" value="apple"> リンゴ
<input type="checkbox" name="fruits" value="banana"> バナナ
<input type="checkbox" name="fruits" value="orange"> オレンジ
// チェックされているチェックボックスの値を取得
const checkedFruits = $('input[name="fruits"]').map(function() {
  if ($(this).is(':checked')) {
    return $(this).val();
  }
}).get();

// 値を出力
console.log(checkedFruits); // ["apple", "banana"]
  • 1つのチェックボックスの値のみを取得したい場合は、prop() メソッドまたは is() メソッドを使うのが簡単です。

jquery html forms


JavaScriptの配列:要素を配列として取得する方法

nth-child()セレクターは、要素の兄弟要素の中で、その要素が何番目かを指定して要素を取得できます。例えば、上記のHTMLコードで、3番目のli要素を取得するには、以下のコードを使用します。nth-child()セレクターは、負の値も指定できます。負の値を指定すると、末尾から数えて何番目かを指定できます。...


jQueryセレクター:知っておきたいワイルドカードの使い方

jQueryセレクターで使用できるワイルドカードは次の2種類です。"*" (アスタリスク): すべての要素にマッチします。"?" (疑問符): 1文字にマッチします。以下の例では、すべての <div> 要素を選択します。以下の例では、class 属性が "box" で、先頭1文字が "a" の要素を選択します。...


JavaScript、HTML、ハイパーリンクでバックリンクを作成:ステップバイステップガイド

HTMLバックリンクとは、あるウェブページから別のウェブページへのリンクを指します。検索エンジン最適化(SEO)において、バックリンクは重要な役割を果たし、ウェブサイトの権威性や信頼性を高めるのに役立ちます。このガイドでは、JavaScript、HTML、およびハイパーリンクの知識がなくても、誰でも簡単にHTMLバックリンクを作成できる方法を説明します。...


【jQuery】$.focus()で要素にフォーカスを設定する方法とよくあるトラブル解決策

要素が存在しないまず、フォーカスを設定しようとしている要素が実際に存在していることを確認してください。セレクターが間違っていないか、要素が DOM に正しく追加されていることを確認してください。要素が無効化されている場合、$.focus() メソッドは機能しません。要素が有効化されていることを確認してください。...


Angular 2 エラー: 'ngModel' にバインドできない: 'input' の既知のプロパティではない

Angular 2 テンプレートで ngModel ディレクティブを使って input 要素にバインドしようとすると、以下のエラーが発生する:原因:このエラーは、input 要素に ngModel ディレクティブを正しく適用していないことが原因です。...


SQL SQL SQL SQL Amazon で見る



jQueryでフォーム全体からチェックボックスを含む全ての入力項目の値を取得する方法

prop() メソッドを使うこれは最も基本的な方法で、チェックボックスがオンかどうかという状態を取得します。こちらは、チェックボックスに設定されている値を取得します。複数のチェックボックスの値をまとめて取得したい場合は、each() メソッドを使うと便利です。