我想用jQuery调用Ajax,并且需要将页面加载时使用PHP设置的变量传递给两个单独的函数,以便将日历向前或向后移动几个月。jQuery选择器回调函数中的全局Javascript变量
var ajax_load = "Loading...",
loadUrl = "calendar_backend.php",
month = parseInt(<?php echo $month ?>);
console.log(month);
month = <?php echo $month ?>;
$("#calendar_box").on("click",'#next_month',function(){
console.log(month);
$("#calendar")
.html(ajax_load)
.load(loadUrl, "month=" + month + "&go=next");
var month = ++month;
console.log(month);
});
$("#calendar_box").on("click",'#previous_month',function(){
$("#calendar")
.html(ajax_load)
.load(loadUrl, "month" + month + "&go=previous");
var month = --month;
});
我在那里的控制台呼叫尝试调试这一点,我得到4从第一.LOG()从第二个错误,并从第三NaN的。从这三个我可以看到,该变量没有传递到.on()处理函数。
日历生成页面被包含在索引页上,然后AJAX将被用来重新生成月份的正确数据。我需要在get字符串中传递的月份来知道我需要抵消的当前月份有多远。
感谢您的帮助!
您需要的功能,以摆脱'var'关键字。另外,当你使用增量/减量运算符时,你也不应该使用赋值;只需要'++ month'或'--month'就可以了。 – Pointy 2012-04-05 20:25:35