Оговорюсь сразу в написании JS на уровне двоечника(ну может троечника
приведенный код слепил из нескольких, вот пример:Демо
В примере всё работает как надо, если один из чекбоксов помечен - появляется скрытый див, чекбокс не отмечен соответсятвенно дава нет.
Но в друпале происходит следующая штука.
Если в друпале я поочерёдно выбираю чекбоксы "This is Item 1", "This is Item 2", "This is Item 3"(в каком порядке не имеет значение), потом хочу снять все чекбоксы кликнув на "Select All".
То все чекбоксы становятся не помеченными, но див НЕ скрывается (((
Комментарии
Делал и так, див скрывается, но потом снова появляется ((
Такое ощущение что n не сбрасывается в "0" вот в этой функции.
var n = $("input:checked").length;
if(n > 0) {$('.hiden_div').fadeIn('slow');}
else {$('.hiden_div').fadeOut('slow');}
});
Проверил значение n алертом (alert(n)), таки да n в конце всех манипуляций равна 1, что за мистика неврублюсь.
Все разобрался
надо было явно указать какие чекбоксы подсчитывать в счётчик n, т.к. чекбокс "Select All" туда тоже попадал.
вот в этом месте:
var n = $("input:checked").length;
заменить на:
var n = $("input.checkbox1:checked").length;
Вот итог:Демо