Это потому, что вы объявляете новую переменную внутри функции обратного вызова, присваивая ей локальную область видимости. Если вы удалите var
из функции обратного вызова, она должна работать как положено.
$.post("/tortus/index.php/daylog/build_summary",
{date_set:form_date_set},
function(html){
$("#week_summary").html(html);
status = "after";
alert("status: " + status);
});
РЕДАКТИРОВАТЬ: И, конечно, как указано в комментарии ниже, так как вызов асинхронный, вам также нужно будет предупредить о состоянии обратного вызова. Или создайте новое событие onclick для некоторого случайного элемента, который будет просто отображать статус:
$(document).ready({
var status = "before"
...
//your previous onclick event here
...
$("#newElm").click(function() {
alert("status: " + status);
});
});