isso pode ser mais fácil
var puts = $('.a');//get checkboxes
var cans = $('.field');//get content
puts.on('change', function() {//when checkbox changes
if (!puts.filter(':checked').length) {//if nothing's checked
cans.show();//show it all
} else {//if something's checked
cans.hide();//hide all
puts.filter(':checked').each(function() {//get checked
$('.'+this.id+':hidden').show();//show if hidden
});
}
});
fez um violino: http://jsfiddle.net/filever10/f8vk2/
demolir
puts
são as caixas de seleção
cans
são os blocos de conteúdo
Quando uma caixa de seleção muda, se nada estiver verificado atualmente, ele mostra tudo. Se algo for verificado, ele esconde todos os blocos de conteúdo e mostra qualquer um que tenha uma classe que corresponda ao id
de uma caixa verificada. Ele mostra apenas coisas que estão ocultas, para que não seja necessário executar várias vezes em blocos de conteúdo que se aplicam a várias caixas verificadas.