Javascript 谷歌图表控件-最小和最大输入字段,而不是滑块

Javascript 谷歌图表控件-最小和最大输入字段,而不是滑块,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,到目前为止我的代码: HTML: JSFiddle: 主要灵感来源于谷歌api。 我的问题是:是否可以用两个输入框来替换滑块(programmaticSlider),这两个输入框基本上可以达到相同的目的-获取图形的最小值和最大值(或者在本例中是日期)?谷歌的数据表有一个方法-->getColumnRange(columnIndex) 这将返回一个具有列的最小值和最大值的对象 要从数据中获取最小和最大日期-->getColumnRange(0) 它返回 { min: new Date(202

到目前为止我的代码:
HTML:

JSFiddle:
主要灵感来源于谷歌api。


我的问题是:是否可以用两个输入框来替换滑块(
programmaticSlider
,这两个输入框基本上可以达到相同的目的-获取图形的最小值和最大值(或者在本例中是日期)
谷歌的数据表有一个方法-->
getColumnRange(columnIndex)

这将返回一个具有列的最小值和最大值的对象

要从数据中获取最小和最大日期-->
getColumnRange(0)

它返回

{
  min: new Date(2020, 6, 4),
  max: new Date(2020, 12, 4)
}
注意:在javascript中使用上述日期构造函数时,
月份数字以零为基础。(一月=0,十二月=11)
因此-->
新日期(2020年12月4日)
=
1/4/2021

由于月份设置为
12
,因此日期构造函数自动提前1个月。
运行以下代码段


console.log(新日期(2020年12月4日))
您没有发布小提琴,但错误地添加了两次google dev链接。您可以发布小提琴吗?哦,很抱歉。它现在已经修复了。您只是想获取图表返回的最小/最大日期吗?还是希望用户能够将其设置在最小/最大日期内?滑块的功能类似于一种过滤器。您只需选择您希望看到图形的哪一部分。我希望输入框保持不变。啊。我正在研究解决方案,但时间不够。我会看看以后是否无法完成更多工作。本质上,您将在声明
var data=[]的函数中获得
数据
您可以添加对助手函数的调用,该函数将设置日期
setDates(data)
在数组中获取日期的方法如下:
dates.eg[i].c[0]
。这将为您提供一个日期数组,可用于HTML输入日期或jQuery日期选择器(这是最简单的)(从google文档中获取日期并将其存储在数组中)
 google.charts.load('current', {'packages':['corechart', 'controls']});
      google.charts.setOnLoadCallback(drawStuff);

      function drawStuff() {

        var dashboard = new google.visualization.Dashboard(
          document.getElementById('programmatic_dashboard_div'));


        var programmaticSlider = new google.visualization.ControlWrapper({
          'controlType': 'DateRangeFilter',
          'containerId': 'programmatic_control_div',
          'options': {
            'filterColumnLabel': 'Date',
            'ui': {'labelStacking': 'vertical'}
          }
        });

        var programmaticChart  = new google.visualization.ChartWrapper({
          'chartType': 'ColumnChart',
          'containerId': 'programmatic_chart_div',
          'options': {
            'width': 300,
            'height': 300,
            'legend': 'none',
            'chartArea': {'left': 15, 'top': 15, 'right': 0, 'bottom': 0}
          }
        });

        var data = google.visualization.arrayToDataTable([
          ['Date', 'Views', 'Unique visitors', 'Returning visitors'],
          [new Date(2020, 8, 5), 4, 2, 1],
          [new Date(2020, 6, 4), 10, 6, 4],
          [new Date(2020, 12, 4), 12, 5, 3],
          [new Date(2020, 10, 4), 5, 1, 0] 
        ]);

        dashboard.bind(programmaticSlider, programmaticChart);
        dashboard.draw(data);
}
{
  min: new Date(2020, 6, 4),
  max: new Date(2020, 12, 4)
}