有条件的类别和系列

Conditional in categories and series

图表代码:

        <script type="text/javascript">
$(function () {
$("#formulario").submit(function() {
    var cidade = $("#cidade").val();
    var cidade_nome = $( "#cidade option:selected" ).text();
    var mans_00 = $('#mans_00:checked').val();
    var mans_05 = $('#mans_05:checked').val();
    var mans_10 = $('#mans_10:checked').val();
    var registro;
    var param_1;
    console.log(cidade);
    $.post('envia.php', {cidade: cidade}, function(resposta) {
    resposta = JSON.parse(resposta);

      for(var i=0; i<resposta.length; i++) {
             registro = resposta[i];
            console.log(registro.man_ins_prod_05);
        }   
    $('#container2').highcharts({
        chart: {
            type: 'column'
        },
        title: {
            text: 'Monthly Average Rainfall'
        },
        subtitle: {
            text: 'Source: WorldClimate.com'
        },
        xAxis: {
            categories: [

                if(mans_00==mans_ins_area_00)
                {'2000',}
                '2005',
                '2010'
            ]
        },
        yAxis: {
            min: 0,
            title: {
                text: 'Mandioca (ton)'
            }
        },
        tooltip: {
            headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
            pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                '<td style="padding:0"><b>{point.y:.1f} ton</b></td></tr>',
            footerFormat: '</table>',
            shared: true,
            useHTML: true
        },
        plotOptions: {
            column: {
                pointPadding: 0.2,
                borderWidth: 0
            }
        },
        series: [{
            name: cidade_nome,
            data: [Number(registro.man_ins_prod_00), Number(registro.man_ins_prod_05), Number(registro.man_ins_prod_10)]

        }]
        });
});
    });
});
        </script>

我的问题是:如果复选框 mans_00 被选中,则将“2000”放入 categories.I 中,尝试使用以下形式: PS:mans_00包含mans_ins_area_00

if(mans_00==mans_ins_area_00) {'2000',} '2005', '2010'

此代码无效

我想这就是你需要的。
http://jsfiddle.net/jzkvzo3z/3/

您将需要一个处理程序$('#myform :checkbox').click(function(){。每次复选框为 checked/unchecked 时都会调用此函数。在这个处理程序中包含所有需要的逻辑。您可以像这样更改类别和与这些类别关联的所有数据。

chart.xAxis[0].setCategories(categories);
chart.series[0].setData(john_data);

编辑

哈,我忘了解释你做错了什么。要构建图表,您可以调用函数:$('#container2').highcharts({。该函数采用一个参数,该参数是一种数据结构。数据结构描述了您要构建的图表。数据结构如下所示。

var data_structure = {
     descriptor1 : value, //Value may be Integer, String ....
     descriptor2 : value, 
     descriptor3 : function () {....code.......},  //A descriptors value can be a function too.
     descriptor4 : [2,4,5,6],  //Array
     ..............................
}

您不能将代码放在结构中。