jQuery DatePicker:如何将年份数组传递给 yearRange 下拉列表
Posted
技术标签:
【中文标题】jQuery DatePicker:如何将年份数组传递给 yearRange 下拉列表【英文标题】:jQuery DatePicker: How to pass array of years to the yearRange drop down 【发布时间】:2018-08-12 18:15:10 【问题描述】:如何将一组年份传递给 yearRange 或年份下拉菜单?
这个问题与以下帖子有关: jQuery DatePicker: currentDate does not work when the date field is 12-31-9999。解决方案是执行 2000:c+1。但是,这里的问题是 yearRange 是从 2000 到 9999。这会导致性能问题,因为填充年份下拉列表需要几秒钟。此外,还不需要 2020 - 9998 年。
当日期字段为 12-31-9999 时,我只希望 yearRange 显示 2000:+1 和当前年份 9999。因此,drop yearRange 应提供以下年份:2000 - 2019、9999。
【问题讨论】:
api.jqueryui.com/datepicker/#option-yearRange 根据文档,这是不可能的。您只能设置一个连续范围。但实际上,这个问题让我们直接回到了您之前的问题中讨论的 X-Y 问题 - 基本上,如果您的结束日期为空而不是使用假装日期,那么您一开始就不会遇到这个问题。而且您的应用程序的数据质量会更好。我已经知道你不想听到这个,但这是问题的根源。如果您无法更改数据库中的内容,那么至少在 UI 层中删除这些日期。 请将其发布为答案,以便我授予您回答的功劳。另外,我在***.com/questions/49103610/… 在 DatePicker 上发布了另一个问题,如果您能提供一个明智的答案,我会将其标记为已回答。感谢您的帮助。 【参考方案1】:根据https://api.jqueryui.com/datepicker/#option-yearRange - 根据文档,这是不可能的。您只能设置一个连续范围。
但实际上,这个问题让我们直接回到了您之前的问题中讨论的 X-Y 问题 - 基本上,如果您的结束日期为空而不是使用假装日期,那么您一开始就不会遇到这个问题。而且您的应用程序的数据质量会更好。我已经知道你不想听到这个,但这是问题的根源。如果您无法更改数据库中的内容,那么至少在 UI 层中删除这些日期
【讨论】:
以上是关于jQuery DatePicker:如何将年份数组传递给 yearRange 下拉列表的主要内容,如果未能解决你的问题,请参考以下文章
jQuery 日期选择器。我如何从 Jquery datepicker 中获取年份
当用户更改月份时,jquery datepicker 更改年份