diff --git a/jquery-ui-timepicker-addon.js b/jquery-ui-timepicker-addon.js
index 3a106ad..949ecfe 100644
--- a/jquery-ui-timepicker-addon.js
+++ b/jquery-ui-timepicker-addon.js
@@ -28,6 +28,7 @@
minute: 0,
second: 0,
ampm: '',
+ altFormattedDate: '',
formattedDate: '',
formattedTime: '',
formattedDateTime: '',
@@ -48,8 +49,15 @@
minute: 0,
second: 0,
timeFormat: 'hh:mm tt',
- alwaysSetTime: true
+ alwaysSetTime: true,
//----------------------------
+ locale: {
+ time: 'Time',
+ hour: 'Hour',
+ minute: 'Minute',
+ second: 'Second',
+ chooseTime: 'Choose time'
+ }
},
//########################################################################
@@ -138,17 +146,18 @@
/* End Added by Peter Medeiros */
- // Prevent displaying twice
- if ($dp.find("div#ui-timepicker-div").length == 0) {
+ // Prevent displaying twice, changed to support inline datepickers (am I right here?)
+ if (dp_inst.dpDiv.find('div#ui-timepicker-div').length == 0) {
+ //if ($dp.find("div#ui-timepicker-div").length == 0) {
var html = '
' +
'
' +
- '- Time
' +
- '' +
- '- Hour
' +
+ '- ' + tp_inst.defaults.locale.time + '
' +
+ '' +
+ '- ' + tp_inst.defaults.locale.hour + '
' +
'' +
- '- Minute
' +
+ '- ' + tp_inst.defaults.locale.minute + '
' +
'' +
- '- Second
' +
+ '- ' + tp_inst.defaults.locale.second + '
' +
'' +
'
' +
'
';
@@ -156,8 +165,8 @@
$tp = $(html);
if (tp_inst.defaults.timeOnly == true) { // if we only want time picker
- $tp.prepend('');
- $dp.find('.ui-datepicker-header, .ui-datepicker-calendar, .ui-datepicker-current').hide();
+ $tp.prepend('');
+ dp_inst.dpDiv.find('.ui-datepicker-header, .ui-datepicker-calendar, .ui-datepicker-current').hide();
}
tp_inst.hour_slider = $tp.find('#ui_tpicker_hour').slider({ orientation: "horizontal", value: tp_inst.hour, min:0, max: hourMax, step: tp_inst.defaults.stepHour, slide: function(event, ui) {
@@ -177,11 +186,11 @@
tp_inst.onTimeChange(dp_inst, tp_inst);
} });
- $dp.find('.ui-datepicker-calendar').after($tp);
- tp_inst.$timeObj = $('#ui_tpicker_time');
+ // changed to support inline datepickers
+ dp_inst.dpDiv.find('.ui-datepicker-calendar').after($tp);
+ tp_inst.$timeObj = dp_inst.dpDiv.find('.ui-tpicker-time');
if (dp_inst != null) {
-
var timeDefined = tp_inst.timeDefined;
tp_inst.onTimeChange(dp_inst, tp_inst);
@@ -265,14 +274,22 @@
updateDateTime: function(dp_inst, tp_inst) {
var dt = this.$input.datepicker('getDate');
- if (dt == null)
+ if (dt == null) {
this.formattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'dateFormat'), new Date(), $.datepicker._getFormatConfig(dp_inst));
- else this.formattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'dateFormat'), dt, $.datepicker._getFormatConfig(dp_inst));
+ if (this.$input.datepicker('option', 'altField')) {
+ this.altFormattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'altFormat'), new Date(), $.datepicker._getFormatConfig(dp_inst));
+ }
+ } else {
+ this.formattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'dateFormat'), dt, $.datepicker._getFormatConfig(dp_inst));
+ // Added to handle datepicker's alt format, if present
+ if (this.$input.datepicker('option', 'altField')) {
+ this.altFormattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'altFormat'), dt, $.datepicker._getFormatConfig(dp_inst));
+ }
+ }
if (this.defaults.alwaysSetTime) {
this.formattedDateTime = this.formattedDate + ' ' + this.formattedTime;
- }
- else {
+ } else {
if (dt == null || !tp_inst.timeDefined || tp_inst.timeDefined == false) {
this.formattedDateTime = this.formattedDate;
}
@@ -281,10 +298,20 @@
}
}
//-----------------------------
-
- if (this.defaults.timeOnly == true)
+ // Added to handle datepicker's alt field, if present
+ if (this.$input.datepicker('option', 'altField')) {
+ if (this.defaults.timeOnly == true) {
+ $(this.$input.datepicker('option', 'altField')).val(this.formattedTime);
+ } else {
+ $(this.$input.datepicker('option', 'altField')).val(this.altFormattedDate+' '+this.formattedTime);
+ }
+ }
+
+ if (this.defaults.timeOnly == true) {
this.$input.val(this.formattedTime);
- else this.$input.val(this.formattedDateTime);
+ } else {
+ this.$input.val(this.formattedDateTime);
+ }
}
};