我在同一页面上创建多个图表,现在我想要一个智能功能来更新单个图表或所有图表当我对对象名称进行硬编码时它工作正常,但我希望能够从执行它的按钮中获取对象名称<button class="update" name="prodChart1" funtionName="f_A_GetTotalWorkedHours"> Test</button>var prodChart1 = document.getElementById('ProdChart1');var prodChart1 = new Chart( prodChart1, { type: "line", data: <%=f_A_GetTotalWorkedHours(Dateadd("d",-2,Date), Date, 48, Line, "")%>, options: { color: 'red', scales: { yAxes: [{ ticks: { beginAtZero: true } }] } }});$(".update").click(function(){ UpdateChart($(this).attr("name"),"") });function UpdateChart(chartName, aFunction) { $.ajax({ type: 'POST', //post method url: 'AnalyticsAPI.asp?', dataType: "text", data: {requestParam: 'f_A_GetTotalWorkedHours|'+ getParam()[0] +'|'+ getParam()[1] +'|48' }, success: function (result, textStatus, jqXHR) { data3= result; chartName.config.data = JSON.parse(data3); chartName.update(); }, error: function (xhr, ajaxOptions, thrownError) { // alert(xhr.status); alert(thrownError); } });};所以“更新”函数应该获取现有图表对象的名称,对象名称是按钮名称属性的一部分。我得到的错误是“UpdateChart(chartName, aFunction)”chartname 不是一个对象。如果我在调用中对对象名称进行硬编码,它会起作用。
2 回答
![?](http://img1.sycdn.imooc.com/54584de700017cbd02200220-100-100.jpg)
白猪掌柜的
TA贡献1893条经验 获得超10个赞
或者将您的图表添加到您可以访问其键的对象:
var charts = {};
charts.populationIncrease = new Chart(...);
function updateChart(chartName, value) {
charts[chartName].value = value;
}
updateChart('populationIncrease', { ... });
添加回答
举报
0/150
提交
取消