转换/添加对jQuery插件的多个实例的支持

时间:2012-07-30 00:13:39

标签: jquery jquery-plugins

我已经分叉了似乎不再维护的filamentgroup daterangepicker *,以便包含一些已发布的修补程序并解决它只支持页面上的单个datarangepicker的问题。

我已经阅读了有关设置jquery插件和设置jquery小部件的文档的方法。但是widget的问题在于,如果将多个元素传递给窗口小部件,它将为每个元素创建一个单独的窗口小部件。日期范围选择器的一个功能是传递2个输入字段作为单个日期范围的开始和结束。因此,在这种情况下,单独处理的多个元素无用。

除了使用$ .widget转换现有插件以允许在页面上多次使用它之外,还有其他最佳实践。

我猜测插件闭包中定义的vars只需要不存在,除非它们是用于所有实例的静态值,实例特定的vars需要与通过数据属性传入的选择器相关联或插件保留索引数组的id?我是在正确的轨道上吗?除了定义的vars之外还缺少其他东西?

有关如何添加对jquery插件的多个实例的支持的任何指针或示例都表示赞赏。

*原始代码来自 - http://filamentgroup.com/examples/daterangepicker_v2/

on git - https://github.com/filamentgroup/jQuery-UI-Date-Range-Picker/blob/master/js/daterangepicker.jQuery.js

1 个答案:

答案 0 :(得分:0)

最佳实践的一个方面是在空容器(div / spans)上调用插件并在初始化时生成两个日期字段。

这样,您可以根据需要使用单个语句创建尽可能多的日期范围小部件,并且只需最少的努力来准备HTML。

This tutorial可以说是最好的插件模式。直到你意识到它超酷的那一刻,这是一个尴尬的诅咒。