Ваш код может быть проще с некоторыми небольшими трюками.
Во-первых, не меняйте идентификаторы во время выполнения, это плохая практика. Флажки имеют такие свойства, как checked
, который оценивается как false
или true
при проверке с помощью this.checked
.
click here to toggle
Hello1
Hello2
Hello3
И это единственный JS, который вам нужен:
$('#click_to_toggle').on('change', function(){
if( this.checked ){
$('.item').hide();
$('.item input:checked').each(function(){
$(this).closest('.item').show();
});
} else {
$('.item').show();
}
});
Рабочий скрипт ЗДЕСЬ
Следуйте этому вопросу, я думаю, что этот человек разделяет вашу проблему.