単体のチェックボックスがチェックされた瞬間に何らかの処理を行うJQueryの実装サンプル(changeイベント)はたくさん情報がありますが、複数のチェックボックスのうちどれか指定のチェックボックスにチェックされた場合のみ処理を行うサンプルを見つけるのに苦戦したため、今回備忘録としてまとめることにしました。
今回も応用がききやすいようになるべくシンプルな内容としました。
3つのチェックボックスのうち指定のふたつにチェックがされた場合に何らかの処理を行うサンプルです。
実際に必要となった場面は、問い合わせフォームの種類選択で指定の項目が選択されたときだけ、他の指定の入力項目を必須化したいというものです。
よければ参考にして頂ければと思います。
HTML
<input type="checkbox" name="chk" id="chk0" value="" /> チェック0
<input type="checkbox" name="chk" id="chk1" value="" /> チェック1
<input type="checkbox" name="chk" id="chk2" value="" /> チェック2
JQuery
<script>
$(function() {
// どれかがチェックされたら発動
$('input[name="chk"]').change(function() {
// 処理を実行するボックスのチェック状態を取得
var chk0 = $('#chk0').prop('checked');
var chk2 = $('#chk2').prop('checked');
// 0番目と2番目のいずれかがチェックされていれば処理を実行
if (chk0 || chk2) {
alert('処理を実行します。');
} else {
alert('何もしません。');
}
});
});
</script>