我一直在看几个问题,但我找不到解决问题的方法。
我想做以下事情:
我在fiddler中做了几次测试,如果我分别完成这些测试,它们工作正常但是当我尝试将它们组合起来时就失败了。
这是一个测试版本:http://jsfiddle.net/rDKE3/
var currentIndexSelected;
var data;
data = [
[1, 29.9],
[2, 71.5],
[3, 106.4],
[4, 129.2],
[5, 144.0],
[6, 176.0],
[7, 135.6],
[8, 148.5],
[9, 216.4],
[10, 194.1],
[11, 95.6],
[12, 54.4]
];
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'spline',
events: {
click: function (e) {
// find the clicked values and the series
var x = e.xAxis[0].value,
y = e.yAxis[0].value,
series = this.series[0];
// Add it
series.addPoint([x, y]);
// data.addPoint([x, y]);
}
}
},
xAxis: {
},
yAxis: {},
legend: {
layout: 'vertical',
floating: true,
backgroundColor: '#FFFFFF',
align: 'right',
verticalAlign: 'top',
y: 60,
x: -60
},
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' + this.x + ': ' + this.y;
}
},
plotOptions: {},
series: [{
allowPointSelect: true,
cursor: 'ns-resize',
point: {
events: {
select: function () {
var pId = this.series.data.indexOf(this);
currentIndexSelected = pId;
$('#out').html(
'Dragging <b>' + this.series.points[pId].y); //this.series.data[0].x + '</b>, <b>');
},
drag: function (e) {
// Returning false stops the drag and drops. Example:
/*
if (e.newY > 300) {
this.y = 300;
return false;
}
*/
$('#drag').html(
'Dragging <b>' + this.series.name + '</b>, <b>' + this.category + '</b> to <b>' + Highcharts.numberFormat(e.newY, 2) + '</b>');
},
drop: function () {
$('#drop').html(
'In <b>' + this.series.name + '</b>, <b>' + this.category + '</b> was set to <b>' + Highcharts.numberFormat(this.y, 2) + '</b>');
}
}
},
data: data,
//data: [[1,29.9], [2,71.5],[3,106.4], [4,129.2], [5,144.0], [6,176.0], [7,135.6], [8,148.5], [9,216.4], [10,194.1], [11,95.6], [12,54.4]],
draggableX: true,
draggableY: true,
}]
});
// button handler
$('#button1').click(function () {
//this.point[currentIndexSelected].remove();
var chart = $('#container').highcharts();
if (chart.series.length == 1) {
//chart.series[0].remove();
chart.addSeries({
data: [194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4],
draggableX: true,
draggableY: true
});
}
var series = chart.getSelectedSeries();
$('#out').html('length:' + series.length);
data.splice(currentIndexSelected, 1);
chart.series[1].setData(data);
chart.redraw();
});
// button handler
$('#button2').click(function () {
var series = chart.getSelectedSeries();
data.splice(currentIndexSelected, 1);
chart.series[0].setData(data);
chart.xAxis[0].setCategories(categories);
});