0

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

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

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

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

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

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

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

4

1 回答 1

0

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

这样,您可以使用单个语句创建尽可能多的日期跨度小部件,并且在准备 HTML 时花费最少。

本教程提供了可以说是最好的插件模式。直到你意识到它超酷的那一刻,这都是一个尴尬的诅咒。

于 2012-07-30T00:58:45.290 回答