2012-05-22 27 views
5

önceden ayarlanmış seçenekleri ile benim Highchart oluşturma alınmalarını çalışıyor: AncakSıfırlama Highcharts devlet

chart = new Highcharts.Chart(options); 

, ben yok etmek ve sadece tahrip grafiği yeniden oluşturmak istediğinizde. chart.destroy();'u kaldırsam bile, grafik hala tamamen boştur, ancak yeniden oluşturulmaz.

$('#resetChart').on("click", function(e){ 
    e.preventDefault(); 
    chart.destroy(); 
    chart = new Highcharts.Chart(options); 
}); 

Bu tabloyu nasıl sıfırlayacağınız konusunda biraz takılı kaldık.

Düzenleme ::

grafik konteyner burada şey yaratıyor Pasta grafikleri gösterilmektedir ancak düzgün veri alınırken olmak görünmüyor incelenmesi. Seçeneklerde ayarlanmış olmasına rağmen veri değişkenimde de tekrar geçiş yapmam gerekiyor mu? Eğer ilk kez grafiği oluşturduğunuzda

<script type="text/javascript"> 
     data = [ 
      { 
       y: {value}, 
       name: 'field1', 
       id:'1' 
      }, 
      { 
       y: {value}, 
       name: 'field2', 
       id:'2' 
      }, 
      { 
       y: {value}, 
       name: 'field3', 
       id:'3' 
      } 
     ]; 
    </script> 
+0

Cevabımı gördünüz mü? –

cevap

6
$('#resetChart').on("click", function(e){ 
    e.preventDefault(); 
    while(chart.series.length > 0) chart.series[0].remove(true); 
    chart = new Highcharts.Chart(options); 
}); 

http://jsfiddle.net/tapkr/1

+0

Bu işe yaramaz gibi gözüküyor. Ben de onların temel pasta demo üzerinde çalıştı: http://jsfiddle.net/tapkr/ –

+0

@Grillz bu http://jsfiddle.net/tapkr/1/ – undefined

+0

deneyin Bu bağlantı sizin için çalışıyor mu? Belki de kemanın benim için sıfırlamadığından bir tarayıcı sorunu vaving ediyorum –

4

sen thrue bazı seçenekleri geçmesi:

series: [{ 
       name: name, 
       data: data, 
       /* changes bar size */ 
       pointPadding: 0, 
       borderWidth: 0, 
       pointWidth: 15, 
       shadow: false 
     }] 

Sonra verileri (bizim CMS için) sayfasında tanımlanır parametresi, bunları bir varlığa kaydedebilir ve tekrar oluşturmak istediğinizde, aşağıdaki kod gibi aynı seçenekleri kullanabilirsiniz.

var defaultOptions = { 
    // your options 
}; 

function drawDefaultChart() { 
    chart = new Highcharts.Chart(defaultOptions); 
} 

drawDefaultChart(); 

$('#resetChart').on("click", function(e){ 
    e.preventDefault(); 
    chart.destroy(); 
    drawDefaultChart(); 
}); 

Bunu here çalışma görebilirsiniz.