jQuery【 change 】値 変更時にイベントを発生させる change メソッド

colmun_main11998

jQuery の change メソッドは、値が変更された際にイベントを発生させるメソッドです。
今回は、jQuery の change メソッドの使用方法について紹介します。

目次

 
1.change メソッド
2.change メソッドの使い方

1.change メソッド

 
change メソッドは、値が変更された際にイベントを発生させるメソッドです。

change メソッドは、引数によって 3 通りの記述方法があります。

$(セレクタ).change( );

$(セレクタ).change( handler( eventObject ) );

$(セレクタ).change( [ eventData ], handler( eventObject ) );

引数なしの「 .change( ) 」は、「 .trigger(“change”) 」の省略形です。
(trigger メソッドの使用方法についてはjQuery【 trigger 】手動でイベントを発生させる trigger メソッドをご参照下さい。)

また、「 .change( handler( eventObject ) ) 」及び「 .change( [ eventData ], handler( eventObject ) ) 」は、「 on( “change”, handler ) 」の省略形です。
(on メソッドの使用方法についてはjQuery【 on 】on メソッドの使い方をご参照下さい。)

change メソッドの引数の内容は、それぞれ以下の通りです。

.change( handler( eventObject ) )

handler( eventObject )
イベント発生時に実行する処理を関数として指定

.change( [ eventData ], handler( eventObject ) )

[ eventData ]
イベントハンドラに渡すデータをマップ値で指定

handler( eventObject )
イベント発生時に実行する処理を関数として指定

▲目次へ戻る

 

2.change メソッドの使い方

 
change メソッドを使用して、値が変わったタイミングでイベントを発生させます。
次のラジオボタンをいくつかクリックしてみて下さい。

03/21~ 04/19 04/20~05/20 05/21~06/21

06/22~07/22 07/23~08/22 08/23~09/22

09/23~10/23 10/24~11/22 11/23~12/21

12/22~01/19 01/20~02/18 02/19~03/20

 

 
上のサンプルのソースコードは次の通りです。

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
<!--
$(function() {

  $("[name='wk_rd']").change(function() {
 
    $("#out1").text($(this).val());

  });
});
//-->
</script>
<div style="background-color:#CCC; padding:20px;">
  <div style="display:inline-flex; align-items:center;">
    <input type="radio" name="wk_rd" value="おひつじ座">03/21~ 04/19 
    <input type="radio" name="wk_rd" value="おうし座">04/20~05/20 
    <input type="radio" name="wk_rd" value="ふたご座">05/21~06/21
  </div><br>
  <div style="display:inline-flex; align-items:center;">
    <input type="radio" name="wk_rd" value="かに座">06/22~07/22 
    <input type="radio" name="wk_rd" value="しし座">07/23~08/22 
    <input type="radio" name="wk_rd" value="おとめ座">08/23~09/22
  </div><br>
  <div style="display:inline-flex; align-items:center;">
    <input type="radio" name="wk_rd" value="てんびん座">09/23~10/23 
    <input type="radio" name="wk_rd" value="さそり座">10/24~11/22 
    <input type="radio" name="wk_rd" value="いて座">11/23~12/21
  </div><br>
  <div style="display:inline-flex; align-items:center;">
    <input type="radio" name="wk_rd" value="やぎ座">12/22~01/19 
    <input type="radio" name="wk_rd" value="みずがめ座">01/20~02/18 
    <input type="radio" name="wk_rd" value="うお座">02/19~03/20
  </div><br>
  <div id="out1" style="background-color:#666; color:#FFF; padding:0px 20px;"> </div>
</div>

上のサンプルでは、change メソッドの対象となるセレクタを「 $(“[name=’wk_rd’]”) 」として name 属性で指定していますが、ページ内でラジオボタンの使用が1カ所のみの場合は「 $(“input[type=’radio’]”) 」のようなセレクタの指定方法もあります。

また、上のサンプルでは ラジオボタンの value 値に 星座名を直接設定していますが、value 値には数字や英字の単純な値を設定しておいて、change メソッド内で 次のような処理を行うのが一般的です。

$("[name='wk_rd']").change(function() {
  if ($(this).val() == "1")
    $("#out1").text("おひつじ座");
});

▲目次へ戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です