是否有可能獲取這樣的(HTML表)中的數據:谷歌可視化 - 擺脫HTML表中的數據
<table border="0">
<thead>
<tr>
<th scope="row" class="n-1">Month</th>
<th class="n-2">N.o.L.</th>
<th class="n-3">Val.</th>
<th class="n-4">Total</th>
<th class="n-5">Num.o.Val.Total</th>
</tr>
</thead>
<tbody>
<tr>
<td class="n-1">1</td>
<td class="n-2">125</td>
<td class="n-3">0</td>
<td scope="col" class="n-4">125</td>
<td class="n-5">0</td>
</tr>
<tr>
<td class="n-1">2</td>
<td class="n-2">125</td>
<td class="n-3">48.75</td>
<td scope="col" class="n-4">173.75</td>
<td class="n-5">5</td>
</tr>
<tr>
<td class="n-1">3</td>
<td class="n-2">125</td>
<td class="n-3">97.5</td>
<td scope="col" class="n-4">222.5</td>
<td class="n-5">10</td>
</tr>
</tbody>
</table>
與jQuery和以這種格式把谷歌可視化腳本里面?
data.addRows(13); // number of rows + 1
data.setValue(0, 0, '1'); // month = 1 (index, 0, $month)
data.setValue(0, 1, 125); // for Month =1, Total = 123 (index, 1, $total)
data.setValue(0, 2, 0); // for Month = 1, Num.o.Val.Total = 5 (index, 2, $Num.o.Val.Total)
etc...
的目標是創造這種圖表:從HTML表格 CHART URL。
我期待設置MONTH COLUMN
爲hAxis
和TOTAL COLUMN
爲vAxis
+ Num.o.Val.Total
(第二行)。
任何建議非常感謝。
編輯:
沒有100%地爲它驕傲,但確實工作:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', 'Total');
data.addColumn('number', 'Num.o.Val.Total');
var NumOfRows = $('table tbody tr').length; // number of rows
data.addRows(NumOfRows);
for (i = 0; i < NumOfRows; ++i) {
var CurrentPlusOne = i+1;
var Month = $('table tbody tr:nth-child(' + CurrentPlusOne + ')').children(':first-child').html();
var Total = parseInt($('table tbody tr:nth-child(' + CurrentPlusOne + ')').children().eq(3).html());
var TotalNum = parseInt($('table tbody tr:nth-child(' + CurrentPlusOne + ')').children().eq(4).html());
data.setValue(i, 0, Month);
data.setValue(i, 1, Total);
data.setValue(i, 2, TotalNum);
}
無論如何,我可以改進的代碼?
我應該補充@Haythem Tlili已經提出了html表格 - >數組,可能只是沒有意識到arrayToDataTable函數存在,這會讓生活更輕鬆! – oli