为什么这是变量不起作用? jQuery的

时间:2013-07-10 22:41:00

标签: php javascript jquery json

我正在编写下面的代码,它基本上将当前日期的数据转换为要在jQuery中处理的PHP文件。直到这里一切顺利。但是我不明白为什么在选择PHP文件的值之后我不能拥有total变量的新值。

day.each(function () {

        var $this = $(this);
        var the_index = $this.index();
        var the_date = $this.find('h3.date').html().substr(0,2);
        var the_day = $this.find('h3.day');

        /*THIS VARIABLE*/   
        var total = 0;

        $.get('trd/datetime.php', function (date) {

            if(that.hasClass('list-'+date.day)) {
                weekList.find('.item.list-'+date.day).addClass('active');
            }

            total = date.firstDate;

        }, 'json');

        console.log(total);


    });

我不知道我的英语是否有帮助,但是,请告诉我我在做什么错误!

感谢。

1 个答案:

答案 0 :(得分:5)

.get调用是异步的 - 其中的内容在 console.log语句之后运行

您可能希望使用从.get处理程序内部调用的回调:

$.get('trd/datetime.php', function (date) {
    // ...

    callback(total);
}, 'json');

function callback(total) {
    console.log(total);
}