[英]Next and Previous function on calendar
我正在嘗試使用上一個和下一個點擊事件創建一個日歷。
頁面加載時,將加載當前的月份和年份。 我添加了下一個和上一個功能,可以在單擊這兩個按鈕中的任意一個時轉到下個月或上個月。 我添加了一個類似這樣的AJAX函數。
這是我的劇本。
$(document).on('click', '#next', function(){
var d = new Date();
var m = d.getMonth();
var y = d.getFullYear();
var str = m + 1;
var str1 = y;
if (str=="" )
{
document.getElementById("calendar_preview").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(document.getElementById("calendar_preview") != null) {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("calendar_preview").innerHTML=xmlhttp.responseText;
}
}
}
var url = calendar_vars.plugin_url + "?month=" + str +"&"+"year="+str1;
xmlhttp.open("GET",url,true);
xmlhttp.send();
});
如您所見,這僅在下一個函數上,下一個是span元素,因此,當用戶單擊它時,它應在月份中添加+1,例如。 六月至七月,依此類推,當到達十二月至一月時,它將更改課程的年份。
當用戶單擊下一個時,變量$ month將捕獲該值並用於顯示月份。
這些是將從第一個腳本獲取值的變量。 該腳本僅工作一次,目前,它從6月更改為7月,但是當我再次單擊它時,什么也沒有發生。 知道我想念的地方嗎? 謝謝
$month = $_GET['month']+1;
$y = $_GET['year'];
不會發生任何事情,因為您總是在獲取當前數據並向其添加1,因此它始終停留在第二個月(當前日期之后的月份)。 要通過它,請執行以下操作:
將這些代碼從“ click”函數中刪除並在函數之前編寫它們:
var d = new Date();
var m = d.getMonth();
var y = d.getFullYear();
所以它應該像這樣:
var d = new Date();
var m = d.getMonth();
var y = d.getFullYear();
$(document).on('click', '#next', function(){
var str = m + 1;
var str1 = y;
if (str=="" )
{
document.getElementById("calendar_preview").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(document.getElementById("calendar_preview") != null) {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("calendar_preview").innerHTML=xmlhttp.responseText;
}
}
}
var url = calendar_vars.plugin_url + "?month=" + str +"&"+"year="+str1;
xmlhttp.open("GET",url,true);
xmlhttp.send();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.