勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

jQueryでページ表示時にラジオボタンやチェックボックスにcheckedがついている場合にイベントを実行する方法

  jQuery JavaScript

ラジオボタンやチェックボックスをチェックした際に、jQuery側で何らかのイベントを実行するプログラムがあったとする。ページ表示時にラジオボタン等に最初からcheckedが付与されていた場合にもそのイベントを実行させたい。このような場合PHPを併用していたけどjQueryだけで対応できるみたい。以下に対応方法をメモ。

 

対応方法

ソースコード

<label>
    <input type="radio" name="radio" value="A" checked>A
</label>
<label>
    <input type="radio" name="radio" value="B">B
</label>
<div id="result"></div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function(){
    $(`input[name="radio"]`).on('change', function(){
        if( $('input[name="radio"]:checked').val() ){
            $(`#result`).html(`${$('input[name="radio"]:checked').val()}を選択中`);
        }
    }).change();
});
</script>

解説等

ページ表示時にchange()で「$(`input[name="radio"]`).on('change'」部分が実行される。

それとは別にラジオボタンを手動で変更した場合も、もちろん「$(`input[name="radio"]`).on('change'」部分が実行される。

 

change

リファレンス

https://js.studio-kingdom.com/jquery/events/change#2

 - jQuery JavaScript

  関連記事

jQueryのloadメソッドでファイル(ページ)を呼び出す

サイト内でヘッダーやフッター等共通のパーツはそれぞれ別ファイルに分けてPHPのi ...

jQueryのプラグインで簡単にイメージスライダーを作成(bxslider)

画像のスライダーを作る時に便利なプラグインであるbxslider。簡単に使えるし ...

jQueryで後から追加された要素にイベントを設定

jQueryで.html()等を使って追加した要素に対してイベントを設定したかっ ...

「slick」でスライダー中央の下部にのみ指定したコンテンツを表示する方法

「slick」でスライダー画像の下部に何らかのコンテンツ(テキスト・リンク・別画 ...

サムネイルをクリックすると拡大画像を表示できる「Lightbox」の利用方法

画像をサムネイル表示してクリックしたら大きく表示する というのがLightbox ...