我写了我的第一个jquery插件(日历)。现在它工作得很好,但我已经在我的插件中嵌入了事件,如:
var days = [
new Event('9-5', 'test1', 1),
new Event('9-7', 'test2', 8),
new Event('9-8', 'test3', 2)
];
现在我从外面向我的插件提交事件“days”:
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 ) {
答案 0 :(得分:0)
您没有正确使用.each。 $ .each()有两个参数。第一个是数组/对象,第二个是回调函数。 http://api.jquery.com/jquery.each/