$('input[id^="chkIsBottom_":checked]')
… всегда будет возвращать истинное значение.Если ни один из них не отмечен, то это будет объект jQuery без элемента внутри.Вы хотите:
$('input[id^="chkIsBottom_":checked]').length
(который будет ложным, если длина равна 0, и истинным, если это не так)
Между тем:
if($('input[id^="chkIsBottom_"]').attr(checked))
… будетполучить значение атрибута X входного элемента first с идентификатором, который начинается с chkIsBottom_, где X - это то, что содержит переменная checked (что, вероятно, не определено, поскольку вы, вероятно, предполагалипередать строку).