2

我的应用程序中有剑道图表和树视图。我想在复选框选中事件上动态更改值轴,例如当我们检查树视图中的“KM”复选框时,Km 和数据的值轴将是显示在图表中。

所以我尝试了一些代码然后我的图表没有显示。我检查的事件代码是

$("#treeview").on("change", function (e) {
    var chart = $("#chart").data("kendoChart");

    var checkedSeries = [];

    $("#treeview").find(":checked").each(function() {
        var nodeText = $(this).parent().parent().text();

        $.each(valueAxes, function(index, valueAxes) {
            if (valueAxes.field == nodeText) {
                checkedSeries.push(valueAxes);
            }
        });
    });

    chart.options.valueAxes = checkedSeries;
    chart.refresh();
});

我的代码有什么问题请帮助我。这是我的 jsbin http://jsbin.com/eyibar/11/edit

4

1 回答 1

1

首先,您需要将图表分配给树视图的 on-change 事件事件中的变量,否则树视图无法识别图表及其值轴,并且在您的 valueAxes 代码中没有字段属性,因此通过您需要检查树视图节点然后推送 valueAxes 的 valueAxes 的名称。

$("#treview").on("change", function (e) {
                var chart = $("#chart").data("kendoChart");
                var checkedSeries = [];
                if ($("#treeview").find(":checked").length !== 0) {
                    $("#treeview").find(":checked").each(function () {
                        var nodeText = $(this).parent().parent().text();
                        $.each(valueAxes, function (index, valueAxes) {
                            if (valueAxes.name == nodeText) {
                                checkedSeries.push(valueAxes);
                                checkedSeries.visible = true;
                            }
                        });
                    });
                    createChart(checkedSeries);
                }
                else {
                    createChart(checkedSeries);
                }
            });
于 2013-04-09T05:33:33.003 回答