@@ -1239,24 +1239,35 @@ $.datepicker._setTime = function(inst, date) {
12391239 minute = date ? date . getMinutes ( ) : defaults . minute ,
12401240 second = date ? date . getSeconds ( ) : defaults . second ,
12411241 millisec = date ? date . getMilliseconds ( ) : defaults . millisec ;
1242-
12431242 //check if within min/max times..
1244- 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 ) ) {
1243+ // correct check if within min/max times.
1244+ // Rewritten by Scott A. Woodward
1245+ var hourEq = hour === defaults . hourMin ,
1246+ minuteEq = minute === defaults . minuteMin ,
1247+ secondEq = second === defaults . secondMin ;
1248+ var reset = false ;
1249+ if ( hour < defaults . hourMin || hour > defaults . hourMax )
1250+ reset = true ;
1251+ else if ( ( minute < defaults . minuteMin || minute > defaults . minuteMax ) && hourEq )
1252+ reset = true ;
1253+ else if ( ( second < defaults . secondMin || second > defaults . secondMax ) && hourEq && minuteEq )
1254+ reset = true ;
1255+ else if ( ( millisec < defaults . millisecMin || millisec > defaults . millisecMax ) && hourEq && minuteEq && secondEq )
1256+ reset = true ;
1257+ if ( reset ) {
12451258 hour = defaults . hourMin ;
12461259 minute = defaults . minuteMin ;
12471260 second = defaults . secondMin ;
12481261 millisec = defaults . millisecMin ;
12491262 }
1250-
12511263 tp_inst . hour = hour ;
12521264 tp_inst . minute = minute ;
12531265 tp_inst . second = second ;
12541266 tp_inst . millisec = millisec ;
1255-
1256- if ( tp_inst . hour_slider ) { tp_inst . hour_slider . slider ( 'value' , hour ) ; }
1257- if ( tp_inst . minute_slider ) { tp_inst . minute_slider . slider ( 'value' , minute ) ; }
1258- if ( tp_inst . second_slider ) { tp_inst . second_slider . slider ( 'value' , second ) ; }
1259- if ( tp_inst . millisec_slider ) { tp_inst . millisec_slider . slider ( 'value' , millisec ) ; }
1267+ if ( tp_inst . hour_slider ) tp_inst . hour_slider . slider ( 'value' , hour ) ;
1268+ if ( tp_inst . minute_slider ) tp_inst . minute_slider . slider ( 'value' , minute ) ;
1269+ if ( tp_inst . second_slider ) tp_inst . second_slider . slider ( 'value' , second ) ;
1270+ if ( tp_inst . millisec_slider ) tp_inst . millisec_slider . slider ( 'value' , millisec ) ;
12601271
12611272 tp_inst . _onTimeChange ( ) ;
12621273 tp_inst . _updateDateTime ( inst ) ;
0 commit comments