события в AnyTime - PullRequest
       26

события в AnyTime

0 голосов
/ 14 февраля 2011

Я хочу запустить функцию, когда пользователь нажимает любую кнопку в разделе «День месяца».

Я узнал код для «Часа».Но не смог найти один за месяц.

Исходная проблема -

Я обновляю диапазон HTML со значениями, выбранными в средстве выбора AnyTime.Я установил самые ранние и последние ограничения.Первый включает часы и минуты, приложение является планировщиком, поэтому мне нужны только будущие даты, но не больше недели.

Я добавил вызов функции в строке 624 из anytime.js

Это прекрасно работает.Например, в 17:00, если пользователь выбирает 18 февраля со временем 12:00 (по умолчанию), промежуток обновляется должным образом.Но если он выберет 15 февраля (то есть сегодня), автоматически будет выбрано «5 вечера», что является самым ранним пределом, а входные данные обновляются должным образом.Но вызова функции нет (я тоже не ожидаю, я ничего для этого не добавил).

Что я должен сделать, чтобы убедиться, что при возникновении такой ситуации функция вызывается правильно?

Спасибо всем.

Ответы [ 2 ]

1 голос
/ 15 февраля 2011

Если я правильно понимаю ваш вопрос: функция для обработки печати в день месяца указана inline, начиная со строки # 1579 файла anytime.js (несжатая версия, которую вы действительно должны изменить) или начиная со строки # 236 of anytimec.js (сжатая версия, которую сложнее понять).

0 голосов
/ 04 октября 2011

Я думаю, вам не нужно изменять что-либо внутри плагина 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).

Работает как очарование для меня, надеюсь, это поможет!

...