2014年2月18日火曜日

複数のチェックボックスが画面上にあり、
ひとつをチェックすると他のチェックボックスもONにしたいときとか。

HTML
①チェックボックス
②チェックボックス
JavaScript
//チェックボックスの同期
$(document).on("change", "[id^='check']", function() {

if ($("#"+ this.id).prop('checked')) {
$("[id^='check']").prop("checked", true );
} else {
$("[id^='check']").prop("checked", false );
}

});
「attr」でも出来るが、コードが長くなったので、「prop」を使うことにしました。
解説としては、
・2行目 「チェックボックスのchangeイベント」を拾います。
・4行目 「changeイベントが発行されたelement」のチェック状態により処理を分岐します。
・5行目 4行目でチェック状態であれば、「idにcheck」が入っている全てのelementのチェック状態をtrueに設定
・7行目 4行目でチェック未であれば、「idにcheck」が入っている全てのelementのチェック状態をfalseに設定

こんな感じですかね。
http://api.jquery.com/prop/

0 コメント:

コメントを投稿

要望&問い合わせ

名前

メール *

メッセージ *