2015-10-02 70 views
0

我寫我的第一個jquery插件(日曆)。現在,它工作一切正常,但我已經在我的插件嵌入裏面的事件,如:生成「事件」函數數組

var days = [ 
    new Event('9-5', 'test1', 1), 
    new Event('9-7', 'test2', 8), 
    new Event('9-8', 'test3', 2)  
]; 

現在我的事件「天后」提交給我的插件從外面帶:

var days = [ 
    ['9-5','test1', 1], 
    ['9-7', 'test2', 8], 
    ['9-8', 'test3', 2]  
]; 
$("#cal").calendar({ year: "2015", month: "9", events: days }); 

和插件與

var config = { 
// default settings 
    year: "2015", 
    month: "9", 
    events: "" 
// ... 
}; 
// change default settings 
if (settings) { config = $.extend({}, config, settings); } 

現在我的問題,我試着與動態地生成相同的事件數組:

var days = []; 
config.events.each(function(index) { 
    days.push(new Event(config.events[index][0],config.events[index][1],config.events[index][2])); 
}); 

,但我得到了以下錯誤:

TypeError: config.events.each is not a function 

這裏是我的事件功能:

function Event(start,title, duration){ 

    if(start instanceof Date){ 
     this.start = start; 
    } 
    this.title = title; 
    this.dur = duration; 
    this.end= new Date(this.start); 
    .... 
} 

如何做到這一點嗎? 非常感謝

編輯

我已經使用了不對每個功能:

config.events.each(function(index) { 

必須是:

$.each(config.events, function(index) { 
+1

'config.events.forEach(...)'錯誤消息'TypeError:config.events.each不是一個函數'是非常明確的 –

回答