2016-08-01 47 views
1

我試圖使用谷歌圖表儀表板調用表格圖表,但我得到這個錯誤。不知道這有什麼問題。儘管代碼與我以前的圖表很相似。與Table Chart有什麼不同?未捕獲的SyntaxError:意外的輸入谷歌圖表結尾

HTML

<div id="dashboard3_div"> 

       <div id="filter3_div"></div> 
       <br /> 
       <div id="chart3_div"></div> 
      </div> 

JS(通過C#生成)

google.charts.setOnLoadCallback(drawDashboard); 

    function drawDashboard() { 
     var data = google.visualization.arrayToDataTable([ 
      ['ID', 'Time', 'Status', 'Assignee', 'DTime'], 
// My data here 

     ]); 
     var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard3_div')); 
     var slider = new google.visualization.ControlWrapper({ 
      'controlType': 'CategoryFilter', 
      'containerId': 'filter3_div', 
      'options': { 
       'filterColumnLabel': 'Assignee', 
       'ui': { 
        'allowTyping': true, 
        'allowMultiple': false, 
        'allowNone': false, 
        'sortValues': false, 
       } 
      } 
     }); 
     var table= new google.visualization.ChartWrapper({ 
      'chartType': 'table', 
      'containerId': 'Assignee', 
     }); 

     dashboard.bind(slider, table); 

     // Draw the dashboard. 
     dashboard.draw(data); 

Uncaught SyntaxError: Unexpected end of input

92號線是dashboard.draw(data);

+0

你在哪裏關閉drawDashboard? – madalinivascu

+0

@madalinivascu這樣做的伎倆。我沒有關閉drawDashboard標籤! –

回答

0

我覺得你剛纔有幾個錯字.. 。

首先,確保你包括'table'包(在問題未畫出)
packages: ['controls', 'table']

接下來,containerId在桌子上看起來關閉,它應該匹配divid ...

嘗試 - >'containerId': 'chart3_div'

代替 - >'containerId': 'Assignee'

最後,chartType需要匹配圖表的類名
所以'table'需要資本化 - >'Table'

看到下面的工作片段...

google.charts.load('current', { 
 
    callback: function() { 
 
    var data = google.visualization.arrayToDataTable([ 
 
     ['ID', 'Time', 'Status', 'Assignee', 'DTime'], 
 
     [0, '7:47 am', 'Testing', 'WhiteHat', '8:00 am'] 
 
    ]); 
 
    var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard3_div')); 
 
    var slider = new google.visualization.ControlWrapper({ 
 
     'controlType': 'CategoryFilter', 
 
     'containerId': 'filter3_div', 
 
     'options': { 
 
      'filterColumnLabel': 'Assignee', 
 
      'ui': { 
 
       'allowTyping': true, 
 
       'allowMultiple': false, 
 
       'allowNone': false, 
 
       'sortValues': false, 
 
      } 
 
     } 
 
    }); 
 
    var table= new google.visualization.ChartWrapper({ 
 
     'chartType': 'Table', 
 
     'containerId': 'chart3_div', 
 
    }); 
 

 
    dashboard.bind(slider, table); 
 

 
    // Draw the dashboard. 
 
    dashboard.draw(data); 
 
    }, 
 
    packages: ['controls', 'table'] 
 
});
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="dashboard3_div"> 
 
    <div id="filter3_div"></div> 
 
    <br /> 
 
    <div id="chart3_div"></div> 
 
</div>

+0

'containerId'必須是您的頁面上將承載控件的DOM元素的ID。我沒有關閉drawDashboard標籤,因此我得到了問題。 –

+0

對,在你的問題中,沒有DOM元素的ID爲「Assignee」 - 但Chart表中的ChartWrapper有'containerId':'Assignee' - 這會導致錯誤。 .. – WhiteHat

+0

啊,在發佈代碼的時候必須做出錯誤的改變。 –

相關問題