2014-02-10 2 views
1

Я использую календарь кайта. Здесь у меня есть определенные даты из базы данных с событиями, которые я хочу выделить и показать события при наведении. Как мне это сделать. Я попробовал следующий пример из примера календаря jquery, но безрезультатно. Я пробовал следовать сейчас.Как подсвечивать даты в определенные даты и показывать события при наведении с использованием календарного года?

$.ajax({ 
       url : '<?php echo base_url('event_date') ?>', 
       type: 'POST', 
       data: {lang_type : lang_id}, 
       datatype : 'JSON', 
       success : function(data){ 
        var events = JSON.parse(data); 
        console.log(events); 
    $('#englishPicker').calendarsPicker({ 
          calendar: $.calendars.instance('gregorian', 'en'), 
          inline: true, 
          useMouseWheel: false, 
          nextText : 'Next', 
          prevText: 'Previous', 
          todayText: 'Today', 
          onDate : function(date) { 
           var result = [true, '', null]; 
           var matching = $.grep(events, function(event) { 
            return event.date.valueOf() === date.valueOf(); 
           }); 
           if (matching.length) { 
            result = [true, 'highlight', null]; 
           } 
           return result; 
          }, 
          onSelect: function(dateText) { 
           var date, 
            selectedDate = new Date(dateText), 
            i = 0, 
            event = null; 
           while (i < events.length && !event) { 
            date = events[i].date; 
            if (selectedDate.valueOf() === date.valueOf()) { 
             event = events[i]; 
            } 
            i++; 
           } 
           if (event) { 
            alert(event.event); 
           }else{ 
            alert('no event'); 
           } 
          } 
         }) 
    }, 
       error : function(xhr, status, error){ 
        alert(error); 
        return false; 
       } 
      }) 
console.events returns 
[Object { event="event 1", date="2014-02-03"}, Object { event="event 2", date="2014-02-06"}, Object { event="event at falgun", date="2014-02-14"}, Object { event="dfasf", date="2014-02-07"}] 

Как я могу это решить? Любая помощь/предложения приветствуются. Спасибо заранее.

ответ

1

Нашли решение этой проблемы. Просто отредактируйте код следующим образом:

$.ajax({ 
      url : '<?php echo base_url('event_date') ?>', 
      type: 'POST', 
      data: {lang_type : lang_id}, 
      datatype : 'JSON', 
      success : function(data){ 
       var events = JSON.parse(data); 
       console.log(events); 
$('#englishPicker').calendarsPicker({ 
         calendar: $.calendars.instance('gregorian', 'en'), 
         inline: true, 
         useMouseWheel: false, 
         nextText : 'Next', 
         prevText: 'Previous', 
         todayText: 'Today', 
         onDate: function(date, inMonth) { 
          if (inMonth) { 
           for (i = 0; i < events.length; i++) { 
            var a = events[i].split('-'); 
            if (date.year() == a[0] && date.month() == a[1] && date.day() == a[2]) { 
             return {selectable: true, dateClass: 'highlight-custom', title: a[3]}; 
            } 
           } 
          } 
          return [true, '']; 
         } 
        }) 
}, 
      error : function(xhr, status, error){ 
       alert(error); 
       return false; 
      } 
}); 


console.log(events) give data as 
["2014-02-03-event 1", 
"2014-02-06-event 2", 
"2014-02-14-event at falgun", 
"2014-02-07-dfasf"] 
Смежные вопросы