summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jquery-ui-timepicker-addon.js27
1 files changed, 19 insertions, 8 deletions
diff --git a/jquery-ui-timepicker-addon.js b/jquery-ui-timepicker-addon.js
index aa29e18..328ad18 100644
--- a/jquery-ui-timepicker-addon.js
+++ b/jquery-ui-timepicker-addon.js
@@ -1239,24 +1239,35 @@ $.datepicker._setTime = function(inst, date) {
minute = date ? date.getMinutes() : defaults.minute,
second = date ? date.getSeconds() : defaults.second,
millisec = date ? date.getMilliseconds() : defaults.millisec;
-
//check if within min/max times..
- if ((hour < defaults.hourMin || hour > defaults.hourMax) || (minute < defaults.minuteMin || minute > defaults.minuteMax) || (second < defaults.secondMin || second > defaults.secondMax) || (millisec < defaults.millisecMin || millisec > defaults.millisecMax)) {
+ // correct check if within min/max times.
+ // Rewritten by Scott A. Woodward
+ var hourEq = hour === defaults.hourMin,
+ minuteEq = minute === defaults.minuteMin,
+ secondEq = second === defaults.secondMin;
+ var reset = false;
+ if(hour < defaults.hourMin || hour > defaults.hourMax)
+ reset = true;
+ else if( (minute < defaults.minuteMin || minute > defaults.minuteMax) && hourEq)
+ reset = true;
+ else if( (second < defaults.secondMin || second > defaults.secondMax ) && hourEq && minuteEq)
+ reset = true;
+ else if( (millisec < defaults.millisecMin || millisec > defaults.millisecMax) && hourEq && minuteEq && secondEq)
+ reset = true;
+ if(reset) {
hour = defaults.hourMin;
minute = defaults.minuteMin;
second = defaults.secondMin;
millisec = defaults.millisecMin;
}
-
tp_inst.hour = hour;
tp_inst.minute = minute;
tp_inst.second = second;
tp_inst.millisec = millisec;
-
- if (tp_inst.hour_slider) { tp_inst.hour_slider.slider('value', hour); }
- if (tp_inst.minute_slider) { tp_inst.minute_slider.slider('value', minute); }
- if (tp_inst.second_slider) { tp_inst.second_slider.slider('value', second); }
- if (tp_inst.millisec_slider) { tp_inst.millisec_slider.slider('value', millisec); }
+ if (tp_inst.hour_slider) tp_inst.hour_slider.slider('value', hour);
+ if (tp_inst.minute_slider) tp_inst.minute_slider.slider('value', minute);
+ if (tp_inst.second_slider) tp_inst.second_slider.slider('value', second);
+ if (tp_inst.millisec_slider) tp_inst.millisec_slider.slider('value', millisec);
tp_inst._onTimeChange();
tp_inst._updateDateTime(inst);