动态更改指南的值和值(AMCharts)

问题描述 投票:0回答:1

我正在尝试使用按钮来动态更改指南参数的值&toValue字段以重置它。这是我的代码我是如何尝试的:

function changeTresh(){
    var treshhold1 = parseFloat(document.getElementById("treshhold1").value);
    var treshhold2 = parseFloat(document.getElementById("treshhold2").value);
    
    console.log(treshhold1);
    console.log(treshhold2);
    if(treshhold1 & treshhold2 != 0){
    chartConfig.guides["0"].value = treshhold1;
    chartConfig.guides["0"].toValue = treshhold2;
    
        
    chartConfig.guides["1"].toValue= treshhold1;
    
    chartConfig.guides["2"].value = treshhold2;
    
    }
}

这是按钮的代码:

<label for="treshhold1">Minimum value:</label>
<input type="number" name="treshhold1" id="treshhold1"><br>
<label for="treshhold2">Maximum value:</label>
<input type="number" name="treshhold2" id="treshhold2">
<input type="button" value="Change treshholds" id="btChangeTresh" onclick="changeTresh()">

我的功能没有给出任何错误,但它仍然无法正常工作。我已经尝试过console.log并且它完美地执行了这个功能,直到chartConfig.guides [“0”]。value = treshhold1;线。它只是停止,但不会出错。

有人知道怎么了?

javascript amcharts
1个回答
0
投票

guides是一个数组,而不是一个对象。引用数组上的索引不正确:

chartConfig.guides[0].value = treshhold1;
chartConfig.guides[0].toValue = treshhold2;


chartConfig.guides[1].toValue= treshhold1;

chartConfig.guides[2].value = treshhold2;

另请注意,在更新图表中的任何属性时,您必须在图表对象上调用validateData进行更改,例如chart.validateData()。我不确定chartConfig是否对应于实际的图表对象,但如果没有,则需要访问从AmCharts.makeChart返回的图表对象变量并从该变量调用validateData。您还可以通过AmCharts数组(即charts等)通过全局AmCharts.charts[0].validateData()对象访问所有图表对象。

© www.soinside.com 2019 - 2024. All rights reserved.