Javascript 如何从chart.js的html表中动态添加元素
有人能帮忙解决这个问题吗 我正在使用chart.js将图表开发到我的asp.net mvc应用程序中 问题是我无法将html表中的元素动态添加到图表中Javascript 如何从chart.js的html表中动态添加元素,javascript,html,charts,html-table,Javascript,Html,Charts,Html Table,有人能帮忙解决这个问题吗 我正在使用chart.js将图表开发到我的asp.net mvc应用程序中 问题是我无法将html表中的元素动态添加到图表中 <canvas id="myChart" width="600" height="400"></canvas> //html5 canvas <script type="text/javascript"> var ctx = document.getElementB
<canvas id="myChart" width="600" height="400"></canvas> //html5 canvas
<script type="text/javascript">
var ctx = document.getElementById("myChart").getContext("2d");
var data = {
datasets: [
{
fillColor: "rgba(223,104,27,0.5)",
strokeColor: "rgba(220,220,220,1)",
data: getcountdata1()
},
{
fillColor: "rgba(151,187,205,0.5)",
strokeColor: "rgba(151,187,205,1)",
data: getcountdata2()
}]
myNewChart = new Chart(ctx).Line(data, options);
//html5画布
var ctx=document.getElementById(“myChart”).getContext(“2d”);
变量数据={
数据集:[
{
填充颜色:“rgba(223104,27,0.5)”,
strokeColor:“rgba(2201)”,
数据:getcountdata1()
},
{
填充颜色:“rgba(151187205,0.5)”,
strokeColor:“rgba(151187205,1)”,
数据:getcountdata2()
}]
myNewChart=新图表(ctx).Line(数据、选项);
上面的工作很好,因为在数据集中我硬编码了数据集中元素的数量,但实际上这应该检查HTML表并从表中获取数据
现在的问题是如何使数据集根据表中的行数获得动态值
例如,我编写了一个Javascript函数(我尝试了以下coed):
var数据:
{
数据集:getdata()
}
函数getdata()
{
行=document.getElementById('tblresult').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
对于(i=0;i您需要将每一行传递给getcountdata()
函数
rowsDomElements = document.getElementById('tblresult').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
for(i=0;i<rowsDomElements.length;i++)
{
datasetdata[i] = [
{
fillColor: getrandomfillcolor(),
strokeColor: getrandomstrokecolor(),
data: getcountdata(rowsDomElements[i])
}]
}
function getcountdata(row)
{
//create data as needed
}
rowsdomements=document.getElementById('tblresult').getElementsByTagName('tbody')[0]。getElementsByTagName('tr');
对于(i=0;iSYNTAX错误是问题所在)而不是datasetdata[i]=[{fillColor:getrandomfillcolor(),strokeColor:getrandomstrokecolor(),data:getcountdata(RowsDomeElements[i])],我们必须修改datasetdata[i]={fillColor:getrandomfillcolor(),strokeColor:getrandomstrokecolor()),data:getcountdata(rowsdomeElements[i])从datasetdata中获取[]。谢谢
rowsDomElements = document.getElementById('tblresult').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
for(i=0;i<rowsDomElements.length;i++)
{
datasetdata[i] = [
{
fillColor: getrandomfillcolor(),
strokeColor: getrandomstrokecolor(),
data: getcountdata(rowsDomElements[i])
}]
}
function getcountdata(row)
{
//create data as needed
}