1

我创建了一个基于小部件工厂的 Datetime 小部件,类似于 jQuery datepicker,它有一组选项。例如,您可以设置本地化月份(不同当地的月份名称)。

我想创建一个由两个 Datetime 小部件组成的间隔小部件(带有从 - 到的日期选择器)。我的问题是如何避免将内部小部件的默认选项重复到外部小部件。当然,两个内部小部件将传递相同的选项集。

日期时间小部件:

$(function () {
    $.widget("Foo.Datetime", {
        options: {
            months: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "etc"]
        }           
        // other stuff here
    }
    });
});

如何允许将选项从 Interval 小部件传递到 Datetime 小部件,而不必在间隔小部件内重新定义它们?

显而易见的方法如下,我想避免的女巫:

$(function (){
    $.widget("Foo.Interval", {
        options: {
            months: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "etc"]
        },

        _create: function(){
            var d = this.element.find(".Datetime");
            d.Datetime({
                months: this.options.months
            });
        }
        // handle _setOption accordingly 
    })
});
4

0 回答 0