首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AnyTime日期选择器中的事件

AnyTime日期选择器中的事件
EN

Stack Overflow用户
提问于 2011-02-15 02:38:41
回答 2查看 2K关注 0票数 0

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

我找到了“小时”的代码。但几个月来一直找不到。

原来的问题是-

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

我在anytime.js的624行添加了一个函数调用

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

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

谢谢大家。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-15 12:37:55

如果我正确理解了您的问题:处理按月印刷的函数是内联定义的,从anytime.js的第#1579行(未压缩版本,您确实应该修改它)或从anytimec.js的第#236行(压缩版本,更难弄清楚)开始。

票数 1
EN

Stack Overflow用户

发布于 2011-10-05 02:54:52

我认为你不需要修改anytime.js 中的任何东西!

我的解决方法是完全依赖于datepicker的输入"onChange“事件,所以每次输入值更新时,我都会触发自定义事件。

代码语言:javascript
复制
input.change( function () { // Update your formatted span here
    $("#my-span").html( this.value.length ? _formatVal(this.value) : "-" );
} );

formatVal()函数可以将原始输入格式转换为更花哨的格式,以便在您的跨度中显示:

代码语言:javascript
复制
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’是要在您的span上显示的格式,格式‘%Y-%m-%d%H:%i:%s’是原始输入值格式(假设是DATETIME MySQL字段)。

对我来说很有吸引力,希望这对我有帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4995950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档