我的剑道图没有更新

时间:2013-03-28 04:48:33

标签: kendo-ui kendo-treeview

我的应用程序中有kendo图表和树视图。我想在复选框检查事件中动态更改值轴,例如当我们检查树视图中的“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

1 个答案:

答案 0 :(得分:1)

首先,您需要在树视图的on-change事件事件中将图表分配给变量,而不是树视图不识别图表及其值轴,而在您的valueAxes代码中没有字段属性,所以通过valueAxes的名称,您需要检查treeview节点,然后推送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);
                }
            });