這是我的插件作爲Highcharts api包裝的結尾。我在each()
函數內使用extend()
函數將屬性chart.renderTo
設置爲當前對象id
屬性。
但是這是行不通的。輸出console.log($(this).attr('id'))
是正確的,但console.log(opt.chartOptions)
只顯示最後一個id(圖表)爲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);
}
});
});