0

私は完全なカレンダーjQueryコンポーネントを使用しており、divのループを通過してイベントも追加しようとしています..しかし、それは機能していません..

これがJavascriptコードです..コメント行は、追加時に問題があるコードです..

$(document).ready(function() {

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();

    $('#calendar').fullCalendar({
        editable: true,
        events: [
            //$("div.allEvents").each( function ( index ){      when I add this to the Jquery code .. it doesn't work
                {
                    //title: $(this).children('#event').val(),    replace this by the next line 
                    title: $('#event').val(),

                    //start: new Date( y, m, $(this).children('#date').val() )   replace this by the next line 
                    start: new Date( y, m, $('#date').val() )
                },
            //} );      End of each loop
        ]
    });

});

そしてここにCSSとHTMLコードがあります..

<div class="allEvents">
<input type='hidden' id='event' value='Alaa' />
<input type='hidden' id='date' value='21' />
</div>
<div class="allEvents">
<input type='hidden' id='event' value='Waheeb' />
<input type='hidden' id='date' value='29' />
</div>

<style type='text/css'>

body {
    margin-top: 40px;
    text-align: center;
    font-size: 14px;
    font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
    }

#calendar {
    width: 900px;
    margin: 0 auto;
    }

4

2 に答える 2

1

[...];内でループを実行することはできません。代わりに、関数を使用してイベントを初期化します...

于 2012-12-13T19:36:14.540 に答える
1

HTML

<div id="all-events">
  <div class="event">
    <input type="hidden" class="title" value="Alaa"/>
    <input type="hidden" class="date" value="12/21/2012" />    
  </div>
  ... rest of events go here
</div>

JavaScript

注:日付値を日付型にするには、日付値を何らかのタイプのコンバーターにラップする必要があります。moment.js をお勧めします

var myEvents = [];

$.each( $( '.event' ), function( event ) {
  myEvents.push( {
    title : event.find( '.title' ).val(),
    start : event.find( '.date' ).val(),
    allDay : true
  } );  
} );

$myCal.fullCalendar( 'addEventSource', myEvents );
于 2012-12-14T15:58:57.930 に答える