Лучше будет сделать некий Listener, который подпишется на изменения состояния кнопок. А после публикации изменения - будет отображать или скрывать блок Это более универсально и разделяет котлеты от мух.
Вот пример реализации через jQuery Callbacks
// реализация паттерна Обозреватель (Observer)
var topics = {};
function observer(id) {
var topic = id && topics[id];
if (! topic) {
var callbacks = $.Callbacks('memory');
topic = {
publish : callbacks.fire,
subscribe : callbacks.add,
unsubscribe : callbacks.remove
};
if (id) {
topics[id] = topic;
}
}
return topic;
};
// подписываемся на некую функцию
observer('checkboxes').subscribe(handleCheckboxesState);
// биндим всем чекбоксам при изменении их состояния вызывать у подписчиков функцию обработки
$(function() {
$(':checkbox').on('change', function() {
observer('checkboxes').publish($(this));
});
})
// функция обработки
function handleCheckboxesState($checkbox) {
// все чекбоксы - $(':checkbox').
// кликнутый чекбокс - $checkbox
}
Демо