2016-07-03 8 views
1

Ich habe einen HTML-Abschnitt, der eine Variable dieses enthält, baut:FullCalendar und Variablen - Json

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

<script> 
var mevent = "{id: 1,title: 'Jan',start: '2016-07-10T10:45',end: '2016-07-10T11:15'},{id: 2,title: 'Gert',start: '2016-07-26T06:00',end: '2016-07-26T22:00'},{id: 7,title: 'Piet',start: '2016-07-10T08:00',end: '2016-07-10T09:00'}" 
</script> 

Dann wird der Java-Abschnitt, mit diesem:

<script> 
$('#calendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    }, 
    editable: true, 
    selectable: true, 
    selectHelper: true, 
    defaultView: 'month', 
    eventRender: function(event, element, view) { 
     return $('<div>' + event.title + '</div>'); 
    }, 
    events: [mevent] 

}); 
//function event() {return mevent;} 
//document.getElementById("calendar").innerHTML = event(); 
</script> 

Mit der getElementById die Daten korrekt angezeigt, Wenn Sie es jedoch als Variable im Kalender verwenden, wird nichts angezeigt, es sei denn, es wird in den Abschnitt events eingefügt, der mit getElementById angezeigt wird.

Was wäre die Syntax, um die Variable im Kalenderscript zu verwenden? Dank ...

Antwort

1

Danke, Sie haben mich auf dem richtigen Weg ... Das funktionierte:

var newEvents = JSON.stringify(eval(mevent)); 
var allEvents = $.parseJSON(newEvents); 
+0

Es wird angenommen, dass Eval schlecht ist, da es beliebigen zufälligen JS-Code ausführen kann, der sich zufällig in Ihrer JSON-Zeichenfolge befindet. – K48

1

Verwenden JSON.parse() die Zeichenfolge in ein tatsächliches JS-Objekt zu konvertieren:

events: JSON.parse(mevent)