按过滤器显示事件(FullCalendar)

时间:2016-09-13 14:26:20

标签: twitter-bootstrap jsp fullcalendar

我想访问我的日历,只显示确定所属的数据选择该事件。

示例:我想看所有Peter Dentist事件

<select class="form-control" id="doctor">
<option value="0">Selecione</option>
<option value="1">Peter</option>
<option value="2">Antonio</option></select> 

<div id="calendar"></div>

我的代码如下所示:

$('#calendar').fullCalendar({
                header: {
                    left: 'prev,next today',
                    center: 'title',
                    right: 'month,agendaWeek,agendaDay,listWeek'
                },
                defaultView: 'agendaWeek',
                timezone: "local",
                ignoreTimezone: false,
                editable: true,
                startEditable: true,
                selectable: true,
                allDay: false,
                eventLimit: true,

                events:
                        {
                            url: 'agenda.json',
                            type: 'get',
                            data:
                                    {
                                    },
                            success: function (reply) {
                                console.log(reply);
                            },
                            error: function () {
                                alert('Error!');
                            },
                            color: '#008000', 
                            textColor: 'white', 
                            allDayDefault: false
                        }...

我怎么能这样做,在何处访问该页面,选择制作并仅显示与所选人员相关的事件?

2 个答案:

答案 0 :(得分:0)

您可以使用这样的Javascript更改功能从选择中获取值并重定向到将医生ID分配给$_GET['doctor']的页面。

$("#doctor").change(function() {
    doctorID = $(this).find(":selected").val();
    var url = window.location.href.split("?")[0];
    url += "?doctor=" + doctorID; 
    window.location.href = url;
}); 

然后在你的页面上你可以检查一下这个值(我不知道jsp所以我只能在php中显示例子)如果你设置了你的值,你可以将它回显给你的页面Javascript。

if(isset($_GET['doctor'])) {
    echo "var doctorID = " . $_POST['doctor'] . ";";
}

然后在您的日历中,您可以获取该ID并将其添加到您的活动网址中以包含在您的查询中。

events: {
        url: "events.php?doctorID=" + doctorID
}

答案 1 :(得分:0)

早上好,我改变了我的代码。 我只需要使用这一行:

events: '/agenda.json?cod=' + doctorID,

这一行在$ ( '# calendar " ) . FullCalendar ( { ...

之内

当我把“1”放在手中时,它完美地运作:

events: '/agenda.json?cod=' + 1,

所以我想知道如何使用下面的select on change设置变量:

<select class="form-control" id="doctor"><option value="0">Selecione</option> <option value="1">Peter</option><option value="2">Antonio</option></select> 

我尝试过,但无法传递变量:

$("#doctor").change(function() {
doctorID = $(this).find(":selected").val();    

});

当我在:$('#calendar').fullCalendar({...

中输入上述代码时