2016-04-03 20 views
0

Uygulamam dinamik olarak kullanıcı girdilerine bağlı olarak grafikler oluşturuyor. Her grafik, bir zaman çizelgesinde diğerinin üstünde gösterilir. Ayrıca kullanıcıya, bireysel grafik seviyesinde birkaç seçeneği değiştirme yeteneği sağlamak istiyorum.Dygraphs: dinamik olarak oluşturulmuş grafikler için updateOptions

g = new Dygraph(document.getElementById("trend_" + json.id), data, 
      { 
      ... some options specified here 
      }); 

Böyle bir şey kullanarak listelerinde birinde bazı seçenekleri güncelleştirmeye çalıştığınızda zaman: Şu anda kullanarak dinamik olarak grafikleri oluşturma olarak

Ancak

g.updateOptions({ ... some option }); 

sadece olduğunu oluşturulan son grafik güncellenebilir.

Başlangıçta bunun yerine bir dizi kullanmayı düşünüyordum, ancak grafikler aynı zamanda oluşturulmadığından çalışacağını düşünmüyorum. (Oluşturduğum bu jsfiddle bunun için izin verir, ancak yalnızca aynı anda oluşturulmuşlarsa)

Seçeneklerim ne olurdu? Nesneleri Dygraph için kimlikleri haritaya istiyorsanız sadece benim g.updateOptions() işlevinde document.getElementById() ...

cevap

1

geçebileceği, o zaman bir nesne eşlemenizde dygraphs saklamak:

var gs = {}; 
for (...) { 
    gs[json.id] = new Dygraph("trend_" + json.id, data, 
      { 
       ... some options specified here 
      }); 
} 

// .... 
gs[json.id].updateOptions({...}); 
+0

Teşekkür, bu gibi çalıştı çekicilik! Sadece dünya çapında gs elde etmek için hatırlamak zorunda kaldı. – koend

İlgili konular