diff --git a/jquery-ui-timepicker-addon.js b/jquery-ui-timepicker-addon.js index 3fbd7b5..af51092 100644 --- a/jquery-ui-timepicker-addon.js +++ b/jquery-ui-timepicker-addon.js @@ -1254,6 +1254,33 @@ return $.datepicker._base_doKeyPress(event); }; + /* + * Fourth bad hack :/ override _updateAlternate function used in inline mode to init altField + */ + $.datepicker._base_updateAlternate = $.datepicker._updateAlternate; + /* Update any alternate field to synchronise with the main field. */ + $.datepicker._updateAlternate = function(inst) { + tp_inst = this._get(inst, 'timepicker'); + var altField = tp_inst._defaults.altField; + if (altField) { // update alternate field too + var altFormat = tp_inst._defaults.altFormat || tp_inst._defaults.dateFormat; + var date = this._getDate(inst); + var formatCfg = $.datepicker._getFormatConfig(inst); + var altFormattedDateTime = '', altSeparator = tp_inst._defaults.altSeparator ? tp_inst._defaults.altSeparator : tp_inst._defaults.separator, altTimeSuffix = tp_inst._defaults.altTimeSuffix ? tp_inst._defaults.altTimeSuffix : tp_inst._defaults.timeSuffix; + if (tp_inst._defaults.altFormat) + altFormattedDateTime = $.datepicker.formatDate(tp_inst._defaults.altFormat, (date === null ? new Date() : date), formatCfg); + else + altFormattedDateTime = tp_inst.formattedDate; + if (altFormattedDateTime) + altFormattedDateTime += altSeparator; + if (tp_inst._defaults.altTimeFormat) + altFormattedDateTime += $.datepicker.formatTime(tp_inst._defaults.altTimeFormat, tp_inst, tp_inst._defaults) + altTimeSuffix; + else + altFormattedDateTime += tp_inst.formattedTime + altTimeSuffix; + + $(altField).each(function() { $(this).val(altFormattedDateTime); }); + } + }, /* * Override key up event to sync manual input changes. */