[РЕШЕНО]Чекбоксы и всплывающий div

Главные вкладки

Аватар пользователя meles meles 30 октября 2014 в 8:55

Оговорюсь сразу в написании JS на уровне двоечника(ну может троечника Lol
приведенный код слепил из нескольких, вот пример:Демо
В примере всё работает как надо, если один из чекбоксов помечен - появляется скрытый див, чекбокс не отмечен соответсятвенно дава нет.
Но в друпале происходит следующая штука.

Если в друпале я поочерёдно выбираю чекбоксы "This is Item 1", "This is Item 2", "This is Item 3"(в каком порядке не имеет значение), потом хочу снять все чекбоксы кликнув на "Select All".
То все чекбоксы становятся не помеченными, но див НЕ скрывается (((

Комментарии

Аватар пользователя meles meles 30 октября 2014 в 13:53

"ХулиGUN" wrote:
"meles" написал(а):
потом хочу снять все чекбоксы кликнув на "Select All".
повесить дополнительный обработчик на клик по "Select All"

Делал и так, див скрывается, но потом снова появляется ((
Такое ощущение что n не сбрасывается в "0" вот в этой функции.

    $("input[type=checkbox]").change(function(){
        var n = $("input:checked").length;    
        if(n > 0) {$('.hiden_div').fadeIn('slow');}
        else {$('.hiden_div').fadeOut('slow');}
    });

Проверил значение n алертом (alert(n)), таки да n в конце всех манипуляций равна 1, что за мистика неврублюсь.

Аватар пользователя meles meles 30 октября 2014 в 14:14

Все разобрался Smile
надо было явно указать какие чекбоксы подсчитывать в счётчик n, т.к. чекбокс "Select All" туда тоже попадал.
вот в этом месте:
var n = $("input:checked").length;
заменить на:
var n = $("input.checkbox1:checked").length;

Вот итог:Демо