2015-07-06 2 views
2

У меня есть массив объектов Javascript datetime, которые я хочу отобразить на cal-heatmap. Для этого я сделал следующее:Выделите несколько опций в Cal Heatmap

var startTimes = [] //array of datetimes to show 
var cal = new CalHeatMap(); 
cal.init({ 
    itemSelector: '.heat-map', 
    domain: 'day', 
    subDomain: 'hour', 
    range: range, 
    start: new Date(startTimes[0]), 
    highlight: new Date(startTimes[0]) 
}); 

for (s in startTimes) { 
    cal.highlight(cal.options.highlight.push(new Date(startTimes[s]))); 
} 

Это, однако, похоже не работает, поскольку только первая дата получает отметку.

+0

Не могли бы вы рассмотреть ответ и комментарий или принять его? –

ответ

0

Обратите внимание, что push возвращает новую длину массива, а не элемент, который вы только что добавили к нему.

Согласно этим и документ о cal-heatmap/#highlight котором говорится, что метод ожидает дату, я думаю, ваш код должен быть:

for (s in startTimes) { 
    var date = new Date(startTimes[s]); 
    cal.options.highlight.push(date); 
    cal.highlight(date); 
} 
+1

Извините, но забыл об этом. То, что сработало, - это добавление объектов datetime в один массив и использование тех, которые отображаются в параметре 'data' в файле heatmap. :) – Newtt

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