[英]Add Jquery to simple PHP calendar
这个想法是加载日历而不刷新页面。 我究竟做错了什么? 它显示一个空白页
外部档案:Calendar.php
<?php
$year = (isset($_POST['year'])) ? $_POST['year'] : date("Y");
$week = (isset($_POST['week'])) ? $_POST['week'] : date('W');
if($week > 52) {
$year++;
$week = 1;
} elseif($week < 1) {
$year--;
$week = 52;
}
?>
<table id="calenderWeek" border="1px">
<tr>
<?php
$week = $_GET['week'];
if($week < 10) {
$week = '0'. $week;
}
for($day= 1; $day <= 7; $day++) {
$d = strtotime($year ."W". $week . $day);
echo "<td>". date('l', $d) ."<br>". date('d M', $d) ."</td>";
}
?>
</tr>
</table>
index.php
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>load demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div id="target">
</div>
<script>
function load(week, year) {
$("#target").load( "calender.php #calenderWeek", {"week":week, "year":year} );}
</script>
这个想法是加载日历而不刷新页面。 我究竟做错了什么? 它显示一个空白页
好的,这并不是真正的答案,但是我认为您需要了解以下内容:
您的PHP仅生成HTML一周。 因此,如果您想使用JS更改星期,则必须为JS中的新Weeks生成HTML。 然后,您可以使用JS完成所有工作。
另一种方法是用php生成多个星期,并且仅显示其中一个。 然后,您可以使用JS隐藏并显示另一个星期。 如果您只能来回移动一定数量的星期,这将很有用。
如果您需要选择不受限制的一周,则必须使用纯JS进行压光或至少重新加载页面的压光部分。
只重新加载日历部分,您必须创建一个仅包含日历生成器的新站点:
calender.php
<?php
$year = (isset($_POST['year'])) ? $_POST['year'] : date("Y");
$week = (isset($_POST['week'])) ? $_POST['week'] : date('W');
if($week > 52) {
$year++;
$week = 1;
} elseif($week < 1) {
$year--;
$week = 52;
}
?>
<table id="calenderWeek" border="1px">
<tr>
<?php
$week = $_GET['week'];
if($week < 10) {
$week = '0'. $week;
}
for($day= 1; $day <= 7; $day++) {
$d = strtotime($year ."W". $week . $day);
echo "<td>". date('l', $d) ."<br>". date('d M', $d) ."</td>";
}
?>
</tr>
</table>
然后只需将其加载到您想要的页面上的div中即可:
<script>
function loadWeek(week, year)
$( "#target" ).load( "/calender.php #calenderWeek", {"week":week, "year":year} );
/* Here call the function on page loading...*/
$( document ).ready( loadWeek(2,2016));
</script>
该加载函数,您可以调用document.ready并单击按钮,然后将其从#calenderWeek中取出,并将其放入#target div中
<div id="target">
</div>
有关更多信息,请查看load函数: http : //api.jquery.com/load/#loading-page-fragments
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.