2013-08-09 1 views
0

Я использую плагин fullCalendar для отображения доступных комнат.изменение опции события fullcalendar с помощью jquery/ajax

<script> 
    var $c = jQuery.no 

    Conflict(); 
     $c(document).ready(function() { 

      $c('#calendar').fullCalendar({ 
       monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'], 
       dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], 
       height: 530, 
       theme: true, 
       firstDay: 1, 
       month:8, 

       events: "json-events.php?roomtype_id=5<?//=$_GET['rtype']?>", 
       eventDrop: function(event, delta) { 
        alert(event.title + ' was moved ' + delta + ' days\n' + 
         '(should probably update your database)'); 
       }, 

       loading: function(bool) { 
        if (bool) $c('#loading').show(); 
        else $c('#loading').hide(); 
       } 

      }); 

     }); 

    </script> 

и у меня есть selectbox.

<select name="side_room_type" id="room_type" class="input-medium"> 
    <option value="0">Select Room Type</option> 
    <option value="5">Family Room</option> 
    <option value="7">Seaside Rooms</option> 
</select> 

Я могу отображать доступные номера с использованием;

события: "? JSON-events.php roomtype_id = ххх"

и получать данные из него. Я пытаюсь получить выбранное значение параметра и изменить его значение. Если Seaside номер выбран он должен изменить события из этого:

события: "JSON-events.php roomtype_id = 5

к этому:

события:" JSON-events.php roomtype_id =? 7

и, конечно же, он должен получить доступные номера без обновления страницы.

Буду рад, если вы можете помочь мне в этом вопросе.

ответ

1

Вы можете использовать методы «removeEventsSource» и «addEventSource». Посмотрите: http://arshaw.com/fullcalendar/docs/event_data/removeEventSource/

var url = 'json-events.php?roomtype_id='; 
var old_id = 5; 

$('#room_type').change(function() { 
    $('#calendar').fullCalendar('removeEventSource', url + old_id); 

    old_id = $(this).val(); 
    $('#calendar').fullCalendar('addEventSource', url + old_id); 
}); 

Конечно, это только идея.

+0

Благодарим вас за ответ. Мое знание ajax немного ограничено. Я добавил ваши коды перед моим, когда я изменяю вариант выбора, который говорит: «Некопать TypeError: Object [object Object] не имеет метода« calendar »... Где я должен поместить отправленный код? Можете ли вы разместить полный код, пожалуйста? – hijacker83

+0

'$ ('# calendar'). Calendar (...)' должен быть '$ ('# calendar'). FullCalendar (...)' –

+0

Я изменил $ ('# calendar'). Calendar to $ ('#calendar'). fullCalendar, но на этот раз ничего не происходит, когда я меняю опции выбора – hijacker83

 Смежные вопросы

  • Нет связанных вопросов^_^