我的应用程序中有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
答案 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);
}
});