Теперь всё правильно работает только 1 раз, при 2-й попытке удаления, удаление происходит в бд, а на экране блоки #message не исчезают, смотрю через firebug и действительно блокам #message не присвоен класс .todelete.
вот код:
$("span.loader").ajaxStart(function(){
$(this).show();
$("#message").has("input:checkbox:checked").addClass("todelete");
$("#del_btn:input").attr({disabled: 'disabled'});
});
formData = $('#msg_form input:checkbox').serialize();
$.post('admin/guestbook.php', formData, function(res){
var json = eval("("+res+")");
$("span.loader").hide();
$(".todelete").animate({opacity:'hide'},"slow");
$("span.res").html(json.status);
$('#msg_form').trigger('reset');
$("#del_btn:input").removeAttr('disabled');
});