2013-03-28 44 views
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

+0

你好,我試圖顯示一個圖表,但價值軸沒有改變點擊事件這裏是jsbin http://jsbin.com/eyibar/12/edit – deeksha 2013-03-28 05:02:08

回答

1

首先,您需要將圖表分配給樹視圖的按變化事件事件中的變量,而不是樹視圖無法識別圖表並且它是數值軸,並且在您的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); 
       } 
      });