score:-1

You can use something like this:

 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);

Check this: http://highslide.com/forum/viewtopic.php?f=9&t=15782

Example 1: http://jsfiddle.net/Fusher/ArmRM/14587/

Example 2: http://jsfiddle.net/hfrntt/EQGWV/

score:1

You can iterate over each series inside the chart and call show() or hide() function, depending on what you want to do. This solution is similar to the previous answers, but calling using the show/hide functions

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;
    }
}

score:17

This is an example that does that, plus a variety of other things with legend items and checkboxes, using a series of external controls:

http://jsfiddle.net/simo/57SR9/94/

function:

$('#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});
        }
    }
});

Related Query

More Query from same tag