Charts 如何在Google图表日历中获取所选日期的div

Charts 如何在Google图表日历中获取所选日期的div,charts,google-visualization,Charts,Google Visualization,我使用谷歌图表日历,我想知道如何操作选定的日期。通过使用select的侦听器,我可以选择“行”和“日期”: google.visualization.events.addListener(chart, 'select', function() { console.log(chart.getSelection()[0].date) console.log(chart.getSelection()[0].row) }); 这是官方的 如何使用“行”查找具有选定日期的div 我的目标

我使用谷歌图表日历,我想知道如何操作选定的日期。通过使用select的侦听器,我可以选择“行”和“日期”:

google.visualization.events.addListener(chart, 'select', function() {
    console.log(chart.getSelection()[0].date)
    console.log(chart.getSelection()[0].row)
});
这是官方的

  • 如何使用“行”查找具有选定日期的div
  • 我的目标是在接下来的5天内对其进行操作并添加额外的颜色,如下所示:
  • 我还想在单击后显示工具提示,这是通过在鼠标悬停时克隆当前工具提示实现的,但我的目的是获取所选的div而不是row

  • 日历上的每个日期都由svg
    元素表示,
    高度和宽度属性为
    16

    $('#chart_div rect[width="16"][height="16"]')
    
    要查找所选元素,请计算一年中的天数(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);
    }
    
    确保检查选择的长度,
    删除选择时也会触发该事件,
    这将导致此操作失败-->
    选择[0]

    注意:图表可能不允许您更改所选元素的样式,
    因为它将根据选项-->
    calendar.focusedCellColor

    但是,您完全可以更改所选元素后面的5个元素,

    使用-->
    dayNumber+1
    --等…

    非常感谢,但是您能否澄清什么是函数getDOY()?我试过了,但它不存在。很抱歉,怀特刚刚注意到它在附加的链接中。它起作用了,非常感谢你的帮助!