【问题标题】:jQuery UI datepicker as "year calendar"jQuery UI datepicker 作为“年历”
【发布时间】:2015-09-15 13:00:44
【问题描述】:

我正在尝试从 jQuery UI datepicker 获取全年日历,在那里我可以与周而不是天进行交互。

我已经找到了如何做每周部分,但现在我想显示全年,结果类似于:

我设法使用numberOfMonths: 12 添加了 12 个月,但如何将它们设置为网格?我试图为容器设置一个宽度,但它没有做任何事情。

对于开始月份,我在另一个主题上发现我可以将默认日期更改为 1 月 1 日,并添加 defaultDate: new Date(new Date().getFullYear(), 0,1)。这确实使月份从 1 月开始,但它也将当前日期选择移至 1 月 1 日...如果有人知道将当前日期保留为默认选择的方法,我更愿意。

那么对于上一个/下一个按钮,是否可以让它们更改年份而不是月份?否则我想我可能会作弊,通过添加一个事件处理程序来点击 12 次而不是 1 次。

最后,我想将下一个按钮移回第三个月,如图所示。使用 CSS 可能不是很难,所以我只是好奇是否有一个函数可以更轻松地完成它。

这是我当前代码的 JSFiddle http://jsfiddle.net/AVZJh/2553/

【问题讨论】:

  • ui-datepicker 的宽度设置为798px(是确切的数字,但800px 会很好:))会给你你的网格。 (在这里看到:jsfiddle.net/AVZJh/2614
  • 那是网格的缺失部分,谢谢 :)
  • 这是您问题的导航箭头位,已解决 - jsfiddle.net/AVZJh/2615
  • 我刚刚找到了stepMonths:12 选项,它允许我移动几年而不是几个月。同样对于网格,我发现我可以用numberOfMonths: [4,3] 将它说成一个数组。好处是样式适应了,例如边框很圆,它取消了关于 showothermonth 的一个小功能,即每隔一个月在线添加一行,并且它可以根据需要移动上一个/下一个按钮,而无需 CSS。现在我只想让它在一月开始,而不在一月的默认选择。如果我能做到,我会做一个总结

标签: javascript jquery css jquery-ui datepicker


【解决方案1】:

我终于找到了所有缺失的部分,结果:http://jsfiddle.net/AVZJh/2625/

网格和移动上一个/下一个按钮都已完成,将 numberOfMonths 更改为一个数组:numberOfMonths: [4,3]

上一个/下一个切换年份而不是月份已完成添加stepMonths:12

从 1 月开始,未更改默认日期已完成添加 showCurrentAtPos: new Date().getMonth()

【讨论】:

  • 好东西伙伴,没有黑客,不稳定的解决方法或 css 覆盖 +1
  • 是的,我应该在询问之前更好地阅读 API 文档......无论如何,希望它会帮助其他人:)
【解决方案2】:

你为什么不试试AnyTime。它具有您要求的所有功能。

【讨论】:

  • 我不反对使用其他库。只是我已经使用过 jQuery UI,所以在使用它之前我有一些经验。我在查找信息时发现的大多数主题也在使用它。关于 AnyTime,我阅读了您链接上的选项列表,但没有找到任何可以帮助我的东西...网格?显示12个月?没有叠加层来模拟“选择周”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-29
  • 1970-01-01
  • 2012-10-10
  • 1970-01-01
相关资源
最近更新 更多