jQuery入門:ラジオボタンのチェック状態を取得・変更する方法

2024-04-02

jQueryでラジオボタンがオンかどうかを確認する

:checked セレクタを使う

HTML

<input type="radio" name="gender" value="male" checked> 男性
<input type="radio" name="gender" value="female"> 女性

jQuery

// 男性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"][value="male"]').is(':checked')) {
  console.log('男性が選択されています');
} else {
  console.log('男性が選択されていません');
}

// 女性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"][value="female"]').is(':checked')) {
  console.log('女性が選択されています');
} else {
  console.log('女性が選択されていません');
}

この方法では、:checked セレクタを使用して、選択されているラジオボタンを取得します。

prop() メソッドを使う

<input type="radio" name="gender" value="male" checked> 男性
<input type="radio" name="gender" value="female"> 女性
// 男性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"][value="male"]').prop('checked')) {
  console.log('男性が選択されています');
} else {
  console.log('男性が選択されていません');
}

// 女性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"][value="female"]').prop('checked')) {
  console.log('女性が選択されています');
} else {
  console.log('女性が選択されていません');
}

この方法では、prop() メソッドを使用して、ラジオボタンの checked プロパティを取得します。

val() メソッドを使う

<input type="radio" name="gender" value="male" checked> 男性
<input type="radio" name="gender" value="female"> 女性
// 選択されているラジオボタンの値を取得
const selectedValue = $('input[name="gender"]').val();

// 男性が選択されているかどうかを確認
if (selectedValue === 'male') {
  console.log('男性が選択されています');
} else {
  console.log('男性が選択されていません');
}

// 女性が選択されているかどうかを確認
if (selectedValue === 'female') {
  console.log('女性が選択されています');
} else {
  console.log('女性が選択されていません');
}

上記の方法のいずれかを使用して、jQueryでラジオボタンがオンかどうかを確認することができます。どの方法を使用するかは、状況によって異なります。

  • 上記の例では、ラジオボタンの名前属性 (name) を使用して、ラジオボタンを取得しています。
  • ラジオボタンのグループ名 (name) が同じであれば、上記の方法を使用して、グループ内のどのラジオボタンがオンかどうかを確認することができます。
  • jQuery UI を使用している場合は、$.widget.bridge('radio') を使用して、ラジオボタンをウィジェット化することができます。ウィジェット化すると、checked プロパティなどのプロパティやメソッドを簡単に使用することができます。



<!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>
  <h1>jQueryでラジオボタンがオンかどうかを確認する</h1>
  <p>
    <input type="radio" name="gender" value="male" checked> 男性
    <input type="radio" name="gender" value="female"> 女性
  </p>
  <button id="check-button">確認</button>
  <script>
  $(document).ready(function() {
    $('#check-button').click(function() {
      // 男性のラジオボタンがオンかどうかを確認
      if ($('input[name="gender"][value="male"]').is(':checked')) {
        console.log('男性が選択されています');
      } else {
        console.log('男性が選択されていません');
      }

      // 女性のラジオボタンがオンかどうかを確認
      if ($('input[name="gender"][value="female"]').is(':checked')) {
        console.log('女性が選択されています');
      } else {
        console.log('女性が選択されていません');
      }
    });
  });
  </script>
</body>
</html>

実行方法

  1. 上記のコードを index.html などのファイル名で保存します。
  2. ブラウザでファイルを開きます。
  3. "確認" ボタンをクリックします。

結果

補足

上記のサンプルコードでは、click() イベントを使用して、"確認" ボタンをクリックしたときの処理を実装しています。他のイベントを使用することもできます。

また、上記




jQueryでラジオボタンがオンかどうかを確認する他の方法

attr() メソッドを使う

<input type="radio" name="gender" value="male" checked> 男性
<input type="radio" name="gender" value="female"> 女性
// 男性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"][value="male"]').attr('checked')) {
  console.log('男性が選択されています');
} else {
  console.log('男性が選択されていません');
}

// 女性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"][value="female"]').attr('checked')) {
  console.log('女性が選択されています');
} else {
  console.log('女性が選択されていません');
}

filter() メソッドを使う

<input type="radio" name="gender" value="male" checked> 男性
<input type="radio" name="gender" value="female"> 女性
// 男性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"]').filter(':checked').val() === 'male') {
  console.log('男性が選択されています');
} else {
  console.log('男性が選択されていません');
}

// 女性のラジオボタンがオンかどうかを確認
if ($('input[name="gender"]').filter(':checked').val() === 'female') {
  console.log('女性が選択されています');
} else {
  console.log('女性が選択されていません');
}

each() メソッドを使う

<input type="radio" name="gender" value="male" checked> 男性
<input type="radio" name="gender" value="female"> 女性
// ラジオボタングループ内の各ラジオボタンをチェック
$('input[name="gender"]').each(function() {
  if ($(this).is(':checked')) {
    console.log($(this).val() + 'が選択されています');
  }
});

この方法では、each() メソッドを使用して、ラジオボタングループ内の各ラジオボタンをループ処理し、is(':checked') メソッドを使用して、そのラジオボタンがオンかどうかを確認します。


jquery html jquery-ui


jQuery: 要素セットから特定の子要素を持つ要素だけを取得するには?(has)

jQuery で div 要素が子要素を持っているかどうかを判定するには、children() メソッドと length プロパティを使用します。例上記の HTML コードでは、myDiv という ID を持つ div 要素が存在し、その中に p 要素と img 要素が子要素として含まれています。...


jQuery: あなたの知らない存在確認メソッド

最もシンプルで効率的な方法は、length プロパティを使用する方法です。length プロパティは、jQueryオブジェクトに含まれる要素数を返します。 つまり、length プロパティが 0 より大きい場合は要素が存在し、0 以下の場合は要素が存在しないことになります。...


【2つの方法】JavaScriptとHTMLでクリックされたボタンのIDを取得する方法(サンプルコード付き)

このページでは、JavaScriptとHTMLを用いて、クリックされたボタンのIDを取得する方法について解説します。方法以下の2つの方法を紹介します。HTMLのonclick属性JavaScriptのaddEventListener()メソッド...


JavaScript、HTML、Firefoxにおけるinput type=rangeのonchangeイベントの挙動と解決策

input type=range スライダーで値をドラッグしている間、Firefox では onchange イベントがトリガーされないという問題が発生することがあります。これは、他のブラウザでは正常に動作するのに対し、Firefox でのみ発生する問題です。...


Web ページをワンランクアップ! Webkit-input-placeholderで洗練されたプレースホルダデザイン

Web 開発において、プレースホルダは入力フィールドにヒントやガイダンスを提供するのに役立つ便利な機能です。しかし、プレースホルダのスタイルをカスタマイズしたい場合、デフォルト設定では限界が生じることがあります。そこで、webkit-input-placeholder プロパティの出番です。このプロパティを使用すると、Chrome や Safari などの Web ブラウザでプレースホルダの外観を詳細に制御できます。...