AnyTime日期选择器中的事件

时间:2011-02-14 18:38:41

标签: javascript jquery datetime datepicker anytime

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

我找到了“小时”的代码。但是一个月都找不到那个。

原始问题 -

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

我在anytime.js

的第624行添加了一个函数调用

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

我应该怎么做以确保在出现这种情况时,正确调用该函数?

谢谢大家。

2 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题:处理日期印刷的功能是内联定义的,从任何时间的#1579行开始(未经压缩的版本,你真的应该修改)或在线开始anytimec.js的#236(压缩版本,更难以弄清楚)。

答案 1 :(得分:0)

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

我的解决方法是狡猾地依赖于datepicker的输入“ 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字段)。

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