我在页面上使用jquery datepicker。在datepicker旁边,我有一个部分,它将在datepicker的mouseenter上显示事件。我找到了一种方法来将日期纳入本节的标题。我遇到的问题是将该变量传递给将在mousenter上显示的php页面。
以下是将显示日期选择器和事件的页面:
<div id=events>
<div id=eventcontent>
</div>
</div>
<div id=eventsheading>
<div id=headingcontent>
</div>
</div>
<div id = "datepicker">
</div>
这是我使用的Jquery用日期填充标题(有效),将相同的变量发送到events.php(这不起作用),并在内容div中显示events.php(它确实有效)当我突出显示日期时,显示你好:
$(document).on('mouseenter', '.ui-datepicker-calendar .ui-state-hover', function(e){
var daynum1 = $(this).text();
var month1 = $('.ui-datepicker-month').text();
var year1 = $('.ui-datepicker-year').text();
var Date = daynum1 + " " + month1 + " " + year1;
$('#headingcontent').html(Date);
//ajax call with date information
var request = $.ajax({
url: "events.php",
type: "POST",
data: {Date: Date},
dataType: "html"
});
$.ajax({
url: "events.php",
cache: false,
success: function(html){
$("#eventcontent").append(html);
}
});
});
下面是events.php:
if(isset($_POST['Date']))
{
$date = $_POST['Date'];
echo <<<_END
<p>$date</p>
_END;
}
else
{
echo <<<_END
<p>hello!</p>
_END;
}
一旦我得到这个工作,事件PHP将被更改为从mysql中选择事件。
为了澄清,我遇到的问题是通过此代码通过ajax发送可变日期:
//ajax call with date information
var request = $.ajax({
url: "events.php",
type: "POST",
data: {Date: Date},
dataType: "html"
});
我似乎无法找到解释数据:{...}应该如何使用的任何地方,我猜这是我的问题。
很抱歉,如果代码完全错误,我很乐意学习这一切,感谢您的帮助。
答案 0 :(得分:0)
你不能使用与内置对象冲突的变量名,如@CBroe所说。 像这样休息
var myDate = daynum1 + " " + month1 + " " + year1;
$('#headingcontent').html(myDate);
$.ajax({
url: "events.php",
type: "POST",
data: {myDate: myDate},
dataType: "html",
success: function(html){
$("#eventcontent").empty();
$("#eventcontent").append(html);
}
});
无需第二次ajax调用