これはハイチャートのAPIのラッパーとしての私のプラグインの終わりです。私はextend()
の内部にeach()
のプロパティを設定して、現在のオブジェクトid
の属性にchart.renderTo
を設定しています。
これは機能しません。 console.log($(this).attr('id'))
の出力は正しいですが、console.log(opt.chartOptions)
は最後のID(chart2)のみをchart.renderTo
というプロパティとして表示します。
約$.extend()
jQuery機能について不明ですか?
var chartOptions = {}; // Plain option object
return this.each(function() { // Each div
console.log($(this).attr('id')); // Output: "chart1", "chart2"
$.extend(opt.chartOptions, { chart : {renderTo : $(this).attr('id') } });
console.log(opt.chartOptions); // Ops! chart.renderTo is always "chart2"
$.ajax({
url : opt.url,
type : 'POST',
data : opt.data,
dataType : 'json',
success : function(data) {
$.extend(data, opt.chartOptions); // Merge data from server
new Highcharts.Chart(data);
}
});
});