JQuery Checkall флажок - PullRequest
       1

JQuery Checkall флажок

0 голосов
/ 24 октября 2011

Я не могу установить этот флажок, чтобы установить флажки, которые не скрыты

В основном это нужно, чтобы не ставить галочку в таблице, которая скрыта от глаз

ui-tableFilter-hidden
$("input:checkbox.checkall").live('click', function(event){
    var checkedStatus = this.checked;
    if(!$('table tbody tr').hasClass('ui-tableFilter-hidden'))
    {
        $("td.small input:checkbox").each(function() {
            this.checked = checkedStatus;
        });
    }
});

Быстрое исправление состояло в том, чтобы заменить вышеуказанный код на этот

$("input:checkbox.checkall").live('click', function(event){
    var checkedStatus = this.checked;

        $("td.small input[type=checkbox]:visible").each(function() {
            this.checked = checkedStatus;
        });

});

Ответы [ 2 ]

1 голос
/ 24 октября 2011

Ваша проверка IF и цикл EACH не связаны в вышеприведенном коде. IF будет принимать значение true в некоторой точке, а затем цикл EACH будет перебирать все флажки, соответствующие селектору, независимо от того, что вы проверили в IF.

Попробуйте что-то вроде этого ...

$('table tbody tr')each(function(){
    if(!$(this).hasClass('ui-tableFilter-hidden')){
           $(this).find("td.small input:checkbox").each(function() {
                this.checked = checkedStatus;
            });
        }
    }
0 голосов
/ 24 октября 2011

В идеале вы должны использовать событие change, поскольку входные данные могут быть изменены не только щелчками. Вы также можете просто найти все строки с помощью ui-tableFilter-hidden, а затем установить соответствующие флажки. Я также использую prop для определения состояния флажка, доступного с jQuery 1.6, хотя this.checked также должно работать.

$("input:checkbox.checkall").change(function(){
    var jCheckAll = $(this);
    var checkedStatus = jCheckAll.prop("checked");
    var jRows = $('table tbody tr:not(.ui-tableFilter-hidden)');
    jRows.find("td.small input:checkbox").prop("checked",checkedStatus);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...