jQueryでAjaxを呼び出そうとしていて、ページロード時にPHPで設定された変数を2つの別々の関数に渡す必要があります。 。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;
});
私はこれをデバッグしようとするそこでのコンソールの呼び出しを持っていると私は2番目の1から未定義の最初の.log()から4を取得し、第三からはNaN。これらの3つから、変数が.on()ハンドラ関数に渡されていないことがわかります。
カレンダー生成ページはインデックスページに含まれており、AJAXはその月の正しいデータを再生成するために使用されます。今月からどのくらい離れているかを知るために、get stringで渡された月が必要です。
助けてくれてありがとう!
あなたは関数で、 'var'キーワードを取り除く必要があります。また、増分/減分演算子を使用する場合は、代入も使用しないでください。 '++ month'や' --month'だけが必要です。 – Pointy