2013-11-18 4 views
0

Это работает хорошо:JQuery проверить все флажки, кроме где строка скрыта

$('#mainTable thead th input:checkbox').click(function(){ 
    if($(this).is(":checked")) { 
     $('.checkbox').prop('checked', true); 
    } else { 
     $('.checkbox').prop('checked', false); 
    }  
}); 

Проблема наверняка строки скрыты, и я только хочу, чтобы проверить ящики, где строки не скрыты. Пожалуйста, порекомендуйте.

+0

Wow спасибо, ребята, я изо всех сил в течение нескольких часов. Я также пробовал каждый метод, но очень близко к этому моменту, когда я сдался. –

ответ

1

использование :visible селектор.

попробовать это

$('.checkbox:visible').prop('checked', true); 
1

Вы можете просто использовать селектор :visible как

$('#mainTable thead th:visible input:checkbox').click(function() { 
    if ($(this).is(':checked')) { 
    $('.checkbox:visible').prop('checked', true) 
    } else { 
    $('.checkbox').prop('checked', false) 
    }  
}) 

Предполагая, что вы хотите, чтобы снять флажки, которые скрыты, вы можете сделать

$('.checkbox:hidden').prop('checked', false) 
Смежные вопросы