我正在编写下面的代码,它基本上将当前日期的数据转换为要在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);
});
我不知道我的英语是否有帮助,但是,请告诉我我在做什么错误!
感谢。
答案 0 :(得分:5)
.get
调用是异步的 - 其中的内容在 console.log
语句之后运行。
您可能希望使用从.get
处理程序内部调用的回调:
$.get('trd/datetime.php', function (date) {
// ...
callback(total);
}, 'json');
function callback(total) {
console.log(total);
}