如何根据datepicker选择从json feed获取事件

时间:2014-12-06 15:56:55

标签: javascript jquery json fullcalendar

我使用fullcalendar显示来自mysql数据库的事件。事件在我的events.php页面中呈现,fullcalendar显示来自events.php的json feed。我正在尝试创建一个报告/表单提交页面,该页面将显示与特定日期的完整日历相同的信息。

问题是我似乎没有正确地请求日期,因为无论我选择哪个日期,它都会给我完全相同的数据。最终,我将在页面上使用日期选择器来选择日期,但是现在我只是尝试在代码中手动插入日期。无论我选择哪个日期,它都会给我相同的结果。这是我用来从events.php

请求数据的脚本
<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery('#datepicker_1').change(function(){
        jQuery.post('events.php', 'view=person&start=2014-12-07'+'&end=2014-12-08', function(data){
            alert(data[0].id);

            });     
    });
});
</script>

目前无论我选择哪个日期,它都会给我完全相同的数据。

1 个答案:

答案 0 :(得分:0)

在您的代码中,您从未更改开始start=2014-12-07和结束&end=2014-12-08参数的参数。

<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery('#datepicker_1').change(function(){
        jQuery.post('events.php', 'view=person&start=2014-12-07'+'&end=2014-12-08', function(data){
            alert(data[0].id);

            });     
    });
});
</script>

根据您提供的网址,events.php接受日期范围而不仅仅是日期。假设您只是选择'end'参数的日期并将'start'参数减去一天,您可以在此处使用此伪代码。

$("#datepicker").datepicker({
    dateFormat: "yy-mm-dd",
    onSelect: function(strDate){
        //Instantiate endDate from strDate

        //Assign a value to startDate by subtracting a day from endDate

        //Preformat post data from endDate and startDate

        //Send an ajax call using the preformatted data and handle the response
    }
});

希望这会有所帮助