誰かがチェックボックスをクリックするたびに実行される機能があり、チェックボックスがチェックされているかチェックされていないかによって、さまざまなことが起こる可能性があります。ただし、フォームの送信後、以前の値が読み込まれ、ボックスがチェックされているかどうかに基づいて同じ変更を適用したいと考えています。これにより、2つの同一の機能が残ります
サンプルコード:
// !- Bind checkboxes to show divs
$('input[type="checkbox"]').bind("change", function(){
if ($(this).is(":checked")) {
$("#"+$(this).data('toggle')).show();
}
else {
$("#"+$(this).data('toggle')).hide();
}
});
// Init checkboxes which are already checked via previous selection
$('input[type="checkbox"]').each(function(index){
if ($(this).is(":checked")) {
$("#"+$(this).data('toggle')).show();
}
else {
$("#"+$(this).data('toggle')).hide();
}
});
bind を使用すると、複数のイベントを追加できることはわかっていますが、各関数はイベントではないため、これを少しクリーンアップする方法がわかりません。別の関数を作成し、引き続き bind() と each() を使用する必要がありますが、両方にコールバックを使用する必要がありますか、それともより洗練された解決策がありますか?