修改 jQueryUI 日期选择器按钮

Posted

技术标签:

【中文标题】修改 jQueryUI 日期选择器按钮【英文标题】:Modify jQueryUI datepicker buttons 【发布时间】:2015-03-01 17:49:01 【问题描述】:

jQueryUI 日期选择器可以使用 Today 和 Done 按钮进行设置。见http://jqueryui.com/datepicker/#buttonbar。

如何在单击完成按钮时触发某些事件(即alert('close');),然后继续使用按钮的默认功能(即关闭日历)。

请注意,我不希望使用onClose() 方法,因为它会在通过任何方式关闭日历时触发(即单击关闭日历),而不一定是在单击“完成”按钮时触发。

PS。我认为这无关紧要,但我将日期选择器与http://trentrichardson.com/examples/timepicker/结合使用

【问题讨论】:

【参考方案1】:

您可以使用事件委托创建单独的处理程序。

$(document).on('click', 'button.ui-datepicker-close', function()
    alert('close')
);

我将事件处理程序绑定到 Done 按钮,因为虽然我认为这就是您要问的,但并不完全清楚您想要什么行为

DEMO

【讨论】:

谢谢查理,这完全符合我的要求,但是,我可能应该更具体一些。我需要访问日历 this 对象。我想我可以这样做,并直接访问日历 ID? 可以通过API访问。你到底需要什么? 我想只是绑定另一个事件有效。很好奇如何通过 API 访问它。 如果你需要日期,例如使用getDate方法api.jqueryui.com/datepicker/#method-getDate 那么,除了onclose之外,当点击完成按钮时没有触发事件?

以上是关于修改 jQueryUI 日期选择器按钮的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI 日期选择器 - 通过单击另一个按钮更改范围

禁用 jQuery UI 日期选择器的焦点设置

jQueryUI 日期选择器上的焦点事件

打开日期选择器上的今天按钮

如何控制 jQueryUI 日期选择器的定位

使用 jQueryUI 获取日期选择器值