@@ -1239,24 +1239,35 @@ $.datepicker._setTime = function(inst, date) {
1239
1239
minute = date ? date . getMinutes ( ) : defaults . minute ,
1240
1240
second = date ? date . getSeconds ( ) : defaults . second ,
1241
1241
millisec = date ? date . getMilliseconds ( ) : defaults . millisec ;
1242
-
1243
1242
//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 ) {
1245
1258
hour = defaults . hourMin ;
1246
1259
minute = defaults . minuteMin ;
1247
1260
second = defaults . secondMin ;
1248
1261
millisec = defaults . millisecMin ;
1249
1262
}
1250
-
1251
1263
tp_inst . hour = hour ;
1252
1264
tp_inst . minute = minute ;
1253
1265
tp_inst . second = second ;
1254
1266
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 ) ;
1260
1271
1261
1272
tp_inst . _onTimeChange ( ) ;
1262
1273
tp_inst . _updateDateTime ( inst ) ;
0 commit comments