我希望能够一次性自定义所有复选框和单选框的图例元素,但是我不知道如何做,我们能实现吗?请告诉我方法。
我希望能够一次性自定义所有复选框和单选框的图例元素,但是我不知道如何做,我们能实现吗?请告诉我方法。
这是一个例子,它使用一系列外部控件来处理图例项和复选框的各种操作:
http://jsfiddle.net/simo/57SR9/94/
函数:
$('#checkAll').click(function(){
for(i=0; i < chart.series.length; i++) {
if(chart.series[i].selected == false){
chart.series[i].select();
showSeries.call(chart.series[i], {checked: true});
}
}
});
show()
或hide()
函数。这种解决方案与先前的答案类似,但使用show
/hide
函数进行调用。i = 0;
while (i < chart.series.length) {
if (chart.series[i].visible === false) { // here you can filter the visible series
chart.series[i].select();
chart.series[i].show(); // here you can call hide()
i++;
return;
}
}
var legendLeft = $j('<div>')
.css({
width: 160,
maxHeight: 210,
padding: 10,
position: 'absolute',
overflow: 'auto',
right: 500,
top: 380,
borderRadius: options.borderRadius
})
.appendTo(chart.container);
var legendRight = $j('<div>') .css({
width: 260,
maxHeight: 210,
padding: 10,
position: 'absolute',
overflow: 'auto',
right: 165,
top: 383,
borderRadius: options.borderRadius
}).appendTo(chart.container);
请查看:http://highslide.com/forum/viewtopic.php?f=9&t=15782
$('#checkAll').click(function(){ for(i=0; i < chartVarName.series.length; i++) { if( chartVarName.series[i].visible == false){ chartVarName.series[i].show(); }}});
基本上是使用series.visible + show/hide代替series.select()。 - ilinca