Ich versuche, Ajax mit jQuery aufrufen und müssen eine Variable übergeben, die mit PHP auf der Seite geladen wird, zu zwei separaten Funktionen, um entweder meinen Kalender vor oder zurück um die Monate zu verschieben .Global Javascript vars in jQuery Selektor Callback-Funktion
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;
});
Ich habe die Konsole Anrufe dort zu versuchen, dies zu debuggen und ich 4 aus dem ersten .log() aus dem zweiten nicht definiert, und NaN aus dem dritten. Aus diesen drei kann ich sehen, dass die Variable nicht in die .on() - Handler-Funktion übergeben wird.
Die Kalendergenerierungsseite ist include_once auf der Indexseite und dann würde der AJAX verwendet, um die korrekten Daten für den Monat zu regenerieren. Ich brauche den Monat, der in der Get-Zeichenfolge verstrichen ist, um zu wissen, wie weit ich vom aktuellen Monat entfernt bin.
Danke für die Hilfe !!
Sie müssen in den Funktionen des 'var' Stichwort loszuwerden. Wenn Sie die Inkrement-/Dekrementoperatoren verwenden, sollten Sie auch keine Zuweisung verwenden. Nur '++ Monat' oder '- Monat' allein ist alles was Sie brauchen. – Pointy