我使用谷歌图表日历,我想知道如何操纵选定的日期。我可以通过使用select:
的监听器来选择'row'和'date'google.visualization.events.addListener(chart, 'select', function() {
console.log(chart.getSelection()[0].date)
console.log(chart.getSelection()[0].row)
});
这是官方documentation。
答案 0 :(得分:1)
日历上的每个日期都由svg <rect>
元素表示
其高度和宽度属性为16
$('#chart_div rect[width="16"][height="16"]')
找到所选元素,计算年份的日期编号(1-366),
您可以使用以下答案中找到的功能来计算日期编号...
calculate the day of the year (1 - 366)
然后使用jquery来获取元素......
var selection = chart.getSelection();
if (selection.length > 0) {
var dayNumber = new Date(selection[0].date).getDOY();
var selectedRect = $('#chart_div rect[width="16"][height="16"]').get(dayNumber);
}
务必检查选择的长度,
删除选择时也会触发事件,
这会导致失败 - &gt; selection[0]
注意:图表可能不允许您更改所选元素的样式,
因为它会根据选项覆盖任何样式 - &gt; calendar.focusedCellColor
但你绝对可以改变所选元素后面的5个元素,
使用 - &gt; dayNumber + 1
- 等等......