假设我的highstock中有两个窗格,我可以动态删除其中一个窗格。因此,如果我单击一个窗格,我应该能够将该事件与窗格的id(yaXis)一起捕获,然后将轴与其系列一起删除。 我已经像下面一样动态添加了窗格(所以我的轴有Id等跟我一起)
chartX.addAxis({ // Secondary yAxis
id: studyName,
title: {
text: studyText
},
isX: false,
lineWidth: 2,
lineColor: '#08F',
//opposite: true,
top: startHeight,
height: 100,
offset: 0
});
var chartToUpdate=chartX.addSeries({
name: 'ADBE',
id: 'studyNew',
color: 'black',
data: studyData,
yAxis: studyName
});
$("#selectStudy").append("<option value='"+countNoOfStudiesAdded+"'>"+studyName+"</option>")
}
是否可以删除上面提到的窗格。任何其他有助于实现动态删除窗格的方法都将受到赞赏。
感谢。
答案 0 :(得分:0)
好的,我通过修补得到了解决方案...... 最好的方法是添加事件,这样每当我点击系列的图例时,它的窗格就会被删除。
var chartToUpdate=chartX.addSeries({
name: 'ADBE',
id: studyName,
color: 'black',
data: studyData,
yAxis: studyName,
events: {
legendItemClick: function(event) {
this.yAxis.remove();
countNoOfStudiesAdded--;
}
}
});
如果有人想要我的问题的确切答案,那么解决方案是有一个下拉选择/选项和一个按钮。单击按钮后,我们会从下拉列表中找到要删除的窗格,然后按如下方式删除它:
$('#remove').click(function() {
if($("#selectStudy").val()!=0) {
var studyToDelete=chartX.get($("#selectStudy option:selected").text());
while(studyToDelete!=null) {
studyToDelete.remove();
$("#selectStudy option:selected").remove()
studyToDelete=chartX.get($("#selectStudy option:selected").text());
}
}
});
id
的{{1}}为button
,remove
下拉列表的id
为selection
。因此,我们发现附加到窗格的所有系列都具有与selectStudy
广告相同的ID,并将其删除。
答案 1 :(得分:0)
您可以使用Axis.remove()函数删除轴。