Если я правильно понимаю ваш вопрос:
$('#select_all').change(function() {
// Is "select all" checked?
if(this.checked) {
// Yes, check all *visible* checkboxes
$("input[name^='select']:visible").attr('checked', 'checked');
} else {
// No, uncheck all checkboxes (visible or not)
$("input[name^='select']").removeAttr('checked');
}
});
... но я бы также быть немного более осторожным и поставить [type=checkbox]
в селекторе:
$('#select_all').change(function() {
// Is "select all" checked?
if(this.checked) {
// Yes, check all *visible* checkboxes
$("input[name^='select'][type=checkbox]:visible").attr('checked', 'checked');
} else {
// No, uncheck all checkboxes (visible or not)
$("input[name^='select'][type=checkbox]").removeAttr('checked');
}
});
Отдельно для меня это всегда красный флаг, если действие чего-то неуравновешенного — в этом случае, при проверке «выберите все» проверит все видимые, но при снятии отметки снимите отметку все из них. Я бы, наверное, либо сделать это:
$('#select_all').change(function() {
var checkboxes = $("input[name^='select'][type=checkbox]:visible");
// Is "select all" checked?
if(this.checked) {
// Yes, check all *visible* checkboxes
checkboxes.attr('checked', 'checked');
} else {
// No, uncheck all *visible* checkboxes
checkboxes.removeAttr('checked');
}
});
... или это:
$('#select_all').change(function() {
// Is "select all" checked?
if(this.checked) {
// Yes, check all *visible* checkboxes...
$("input[name^='select']:visible").attr('checked', 'checked');
// ...and make sure all the invisible ones are unchecked
$("input[name^='select'][type=checkbox]:not(:visible)").removeAttr('checked');
} else {
// No, uncheck all checkboxes (visible or not)
$("input[name^='select'][type=checkbox]").removeAttr('checked');
}
});
... но вы знаете ваши требования лучше, чем я.
@Matt Нет, я хочу проверить элемент из списка, видна или нет. В коде ur, который вы проверяете, отображается или нет. U получаю то, что я пытаюсь сказать. Я очень рад, что не объяснил это правильно. –
@Matt отредактировал мой вопрос .. действительно sry для этого .. –
@piemesons: См. Мой обновленный ответ. – Matt