Php jQuery选择器回调函数中的全局Javascript变量
我试图用jQuery调用Ajax,需要将一个用PHP在页面加载时设置的变量传递给两个单独的函数,以便按月份向前或向后移动日历Php jQuery选择器回调函数中的全局Javascript变量,php,javascript,jquery,Php,Javascript,Jquery,我试图用jQuery调用Ajax,需要将一个用PHP在页面加载时设置的变量传递给两个单独的函数,以便按月份向前或向后移动日历 var ajax_load = "Loading...", loadUrl = "calendar_backend.php", month = parseInt(<?php echo $month ?>); console.log(month); month = <?php echo $month ?>; $("#
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个。第二个控制台调用得到未定义日志,第三个控制台调用得到NaN。从这三个方面,我可以看到变量没有被传递到.on处理函数中
日历生成页面包含在索引页面上一次,然后使用AJAX重新生成当月的正确数据。我需要get字符串中传递的月份,以了解需要抵消的当前月份的距离
谢谢你的帮助 不要在函数体中使用var关键字。var将在success函数中实例化一个新变量。而你使用的递减/递增运算符是错误的,这是唯一的月份++;及月份;
您需要去掉函数中的var关键字。此外,当使用递增/递减运算符时,不应同时使用赋值;您只需要++月或-月就可以了。我在jQuery网站上更新了您的建议和建议,并设置了一些函数来调用jQuery.onclick,function next_monthmonth{console.logmonth;$calendar.htmlajax_load.loadloadUrl,month=+month+&go=next;month++console.logmonth;}$calendar_box.onclick,'next_month',函数{next_monthmonth;};但当我再次单击时,它仍然使用月份的原始值,并且没有更新。Get已排序!非常感谢!!
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");
month++; // Removed var and incressing
console.log(month);
});
$("#calendar_box").on("click",'#previous_month',function(){
$("#calendar")
.html(ajax_load)
.load(loadUrl, "month" + month + "&go=previous");
month--; // Removed var and decressing
});