0

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

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

原来的问题——

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

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

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

我应该怎么做才能确保无论何时发生这种情况,都可以正确调用该函数?

谢谢你们。

4

2 回答 2

1

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

于 2011-02-15T04:37:55.447 回答
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 )
    )
}

其中 format '%a %e-%b-%Y' 是在您的 span中显示的格式, format '%Y-%m-%d %H:%i:%s' 是原始输入值格式(假设一个 DATETIME MySQL 字段)。

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

于 2011-10-04T18:54:51.633 回答