AnyTime 日期选择器中的事件

发布于 2024-10-17 21:16:41 字数 529 浏览 3 评论 0原文

我想在用户单击“每月某天”下的任何按钮时触发一个功能。

我找到了“Hour”的代码。但找了半个月也没找到。

最初的问题 -

我正在使用 AnyTime 选择器中选择的值更新 HTML 范围。我已经设置了最早和最晚的限制。前者包括小时和分钟,该应用程序是一个调度程序,所以我只需要未来的日期,但不超过一周。

我在 anytime.js

这很好用。例如,在下午 5 点,如果用户选择 2 月 18 日,时间为上午 12 点(默认),则跨度会正确更新。但是,如果他选择 2 月 15 日(即今天),则会自动选择“下午 5 点”,这是最早的限制,并且输入会正确更新。但是没有调用函数(我也不期望调用函数,我没有为此添加任何内容)。

我应该怎么做才能确保每当发生这种情况时,该函数都能正确调用?

谢谢大家。

I want to fire a function when user clicks on any button under "Day Of the Month".

I found out the code for "Hour". But couldn't find the one for month.

The original problem -

I am updating an HTML span with the values selected in the AnyTime picker. I have set up earliest and latest limits. The former includes hours and minutes, the application is a scheduler, so I need only future dates, but not more than week.

I've added a function call on line 624 of anytime.js

This works great. For instance, at 5 PM, if a user selects 18th February with time as 12 AM (default), the span is updated properly. But, if he selects 15th Feb (that's today), "5 pm" gets automatically selected, being the earliest limit and the input is update properly. But there's no call to function (I don't expect one either, I haven't added anything for this).

What should I do to make sure that whenever such situation occurs, the function is called properly?

Thank you,all.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゝ杯具 2024-10-24 21:16:41

如果我正确理解你的问题:处理每月某天新闻的函数是内联定义的,从anytime.js的第1579行开始(未压缩版本,你确实应该修改)或从第236行开始everytimec.js(压缩版本,较难理解)。

If I understand your question correctly: The function for processing a day-of-month press is defined inline, beginning on line #1579 of anytime.js (the uncompressed version, which you really should be modifying) or beginning on line #236 of anytimec.js (the compressed version, which is harder to figure out).

痴骨ら 2024-10-24 21:16:41

我认为您不需要需要修改anytime.js插件内的任何内容!

我的解决方法是简单地依赖日期选择器的输入“onChange”事件,因此每次更新输入值时我都会触发自定义事件。

input.change( function () { // Update your formatted span here
    $("#my-span").html( this.value.length ? _formatVal(this.value) : "-" );
} );

formatVal() 可以是一个将原始输入格式转换为更奇特的格式以在您的范围内显示的函数:

function _formatVal( val ) {
    return AnyTime.Converter( {format:'%a %e-%b-%Y'} ).format(
        AnyTime.Converter( {format:'%Y-%m-%d %H:%i:%s'} ).parse( val )
    )
}

其中格式 '%a %e-%b-%Y' 是要执行的格式显示在您的范围,格式“%Y-%m-%d %H:%i:%s”是原始输入值格式(假设是 DATETIME MySQL 字段)。

对我来说就像一个魅力,希望这有帮助!

I think you don't need to modify anything inside anytime.js plugin!

My workaround was to siply rely on datepicker's input "onChange" event, so everytime the input value is updated I get my custom event fired.

input.change( function () { // Update your formatted span here
    $("#my-span").html( this.value.length ? _formatVal(this.value) : "-" );
} );

And formatVal() could be a function to convert the original input format to a more fancy one to display at your span:

function _formatVal( val ) {
    return AnyTime.Converter( {format:'%a %e-%b-%Y'} ).format(
        AnyTime.Converter( {format:'%Y-%m-%d %H:%i:%s'} ).parse( val )
    )
}

Where format '%a %e-%b-%Y' is the one to display at your span, and format '%Y-%m-%d %H:%i:%s' is the original input value format (let's say a DATETIME MySQL field).

Works like a charm for me, hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文