jQueryでチェックボックス操作のイベントリスナー登録するときはコントロールに対してchangeで指定する
よくボケるので自戒を込めて。
次のようなチェックボックスに対し、ウェブブラウザからユーザーがクリックとかアクションを行ってチェックがon/offした際に、jQueryで処理を実行したい場合、
<label for="hoge"> <input type="checkbox" name="hoge" /> </label>
次のような指定はNG.
ダメな例#1.
$('label[for="hoge"]').on( 'click', function(){ ...(処理)... });
ダメな例#2.
$('label[for="hoge"]').on( 'change', function(){ ...(処理)... });
次の様にコントロールに対してchangeイベントを設定するとOK.
$('input[name="hoge"]').on( 'change', function(){ ...(処理)... });
多分NGのやつを組み込んだ時は疲れていたんだと思う。
関連するタグ
関連するタグは現在ありません。