2016-08-01 75 views
0

Ich benutze den vollen Kalender. Und ich habe einige Inhalte in einem Kalender angezeigt.Anzeige der Daten basierend auf dem gewählten Start- und Enddatum im Vollkalender

1) Standardmäßig werden Daten in allen Datumsfeldern angezeigt.

2) Ich habe Startdatum und Enddatum Kalender oben. Ich möchte Daten basierend auf dem ausgewählten Start- und Enddatum anzeigen. Zum Beispiel, wenn ich Startdatum 01/08/2016 und Enddatum 14/08/2016 wähle.

Ich möchte Daten nur auf der Grundlage der Start- und Enddaten anzeigen.

jsfiddle

$('#calendar').fullCalendar({ 
 
\t header: { 
 
\t \t left: 'prev,next today', 
 
\t \t center: 'title', 
 
\t \t right: 'month,agendaWeek,agendaDay' 
 
\t }, 
 
\t defaultDate: '2014-06-12', 
 
\t editable: true, 
 
}); 
 
$("td.fc-day.fc-widget-content").each(function(index) { 
 
    var random = Math.floor(Math.random()*100); 
 
    $(this).append("<span style='font-size: 30px;font-weight: 600;color: green;'>"+random+"%</span>"); 
 
});
body { 
 
\t margin-top: 40px; 
 
\t text-align: center; 
 
\t font-size: 13px; 
 
\t font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif; 
 
} 
 

 
#calendar { 
 
\t width: 900px; 
 
\t margin: 0 auto; 
 
}
Start Date :<input type="text" id="endDate" name="end_datum" class="input_text" value=""> 
 
End date :<input type="text" id="endDate" name="end_datum" class="input_text" value=""></br></br></br></br> 
 

 
<div id='calendar'></div>

+1

Wie erhalten Sie Ihre Kalenderereignisse? Wenn Sie mit einer Datenbank arbeiten, können Sie einfach ajax verwenden, um die beiden Daten zu senden, und eine Abfrage erstellen, um Ereignisse zwischen den beiden Daten zu erhalten und zurückzugeben. – Ryan89

+0

Ich verwende keine Ereignisse. Ich zeige direkt in td Inhalt wie, $ ("td.fc-day.fc-widget-content"). Jeder (Funktion (Index) { –

Antwort

1

So in meinem Beispiel verwende ich Anfang und am Ende als eine statische Variable müssen Sie die Eingabe von Start- und Ende greifen sie dynamisch zu verwenden. Ordnen Sie Ihr Start- und Enddatum zu und weisen Sie dann date als aktuelle Objekte date als Attributwert zu. Dann erstellen wir einen Moment mit diesem Datum day und verwenden eine if-Anweisung, um sicherzustellen, dass day größer ist als start und weniger als end und wenn es passiert, dann haben Sie Ihren Handling-Code. Hier ist eine funktionierende JSFiddle.

$("td.fc-day.fc-widget-content").each(function(index) { 
    var start = moment('2014-06-04'); //start date from start date input 
    var end = moment('2014-06-18'); //end date from end date input 
    var random = Math.floor(Math.random()*100); 
    var date = $(this).data('date'); //get current date in loop 
    var day = moment(date); //create a moment 

    //if day is greater than start date and less than end date, display. 
    if(day > start && day < end) { 
     $(this).append("<span style='font-size: 30px;font-weight: 600;color: green;'>"+random+"%</span>"); 
    } 
}); 
+0

Vielen Dank @ Ryan89. –

+0

Ich brauche noch eine Hilfe. Hier bin ich Die Funktion fullCalendar Events ist nicht möglich. Ist es möglich, dasselbe mit fullCalendar-Events zu tun, anstatt $ ("td.fc-day.fc-widget-content") zu verwenden. je (function() { –

+0

Ja, es ist möglich Ihre Ereignisse stammen aus einer Datenbank, die Sie einfach in Ihren Daten mit Ajax übergeben können, um Ihre Abfrage so zu erstellen, dass nur diese Ereignisse zurückgegeben werden, oder Sie können [clientEvents] (http://fullcalendar.io/docs/event_data/clientEvents/) verwenden, um darauf zuzugreifen alle Ihre sichtbaren Ereignisse und Arbeit mit ihnen von dort. Wenn sie von einem json-Feed sind, könnten Sie mit den Daten in Javascript und momentjs arbeiten. Ich schlage vor, dass Sie alle [fullcalendar docs] (http://fullcalendar.io/docs) lesen /) Es wird Ihnen helfen, all die Dinge zu lernen, mit denen Sie arbeiten können. – Ryan89