【jQuery】selectボックスのchangeイベントを検知できない

jQueryを用いて,selectボックスの値に応じて何かしたいというパターンは多いですよね.jQuery.changeを用いればselectボックスの値の変更を検知することができます.

しかし,他のイベントと異なりjQuery.changeは定義の仕方を誤ると動作しません.

【動かない例】

(function() {
  $('#sample_select').change(function() {
    // 内容
  }));
)(jQuery);

【正しいコード】

そのままでは動かなかったので,jQuery.readyを使う必要があります.(よくよく考えてみれば,DOMの読み込みが完了してからセレクタを使わないとダメですよね…)

jQuery.readyは以下の様にも記述できます.

$(function($) {
  $('#sample_select').change(function() {
    // 内容
  });
});

jQueryを使うときは,基本的にはjQuery.ready(function() {})あるいは$(function() {})で囲むように注意しましょう.


コメントを残す

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