|
413 | 413 | $.datepicker._selectDate = function (id, dateStr) {
|
414 | 414 | var target = $(id);
|
415 | 415 | var inst = this._getInst(target[0]);
|
416 |
| - inst.inline = true; |
417 |
| - inst.stay_open = true; |
418 |
| - $.datepicker._base_selectDate(id, dateStr); |
419 |
| - inst.stay_open = false; |
420 |
| - inst.inline = false; |
421 |
| - this._notifyChange(inst); |
422 |
| - this._updateDatepicker(inst); |
| 416 | + var tp_inst = $.datepicker._get(inst, 'timepicker'); |
| 417 | + |
| 418 | + if(tp_inst){ |
| 419 | + inst.inline = true; |
| 420 | + inst.stay_open = true; |
| 421 | + $.datepicker._base_selectDate(id, dateStr); |
| 422 | + inst.stay_open = false; |
| 423 | + inst.inline = false; |
| 424 | + this._notifyChange(inst); |
| 425 | + this._updateDatepicker(inst); |
| 426 | + } |
| 427 | + else{ |
| 428 | + $.datepicker._base_selectDate(id, dateStr); |
| 429 | + } |
423 | 430 | };
|
424 | 431 |
|
425 | 432 | //#############################################################################################
|
|
438 | 445 | $.datepicker._beforeShow = function(input, inst) {
|
439 | 446 | var beforeShow = this._get(inst, 'beforeShow');
|
440 | 447 | if (beforeShow) {
|
441 |
| - inst.stay_open = true; |
| 448 | + inst.stay_open = true; |
442 | 449 | beforeShow.apply((inst.input ? inst.input[0] : null), [inst.input, inst]);
|
443 | 450 | inst.stay_open = false;
|
444 | 451 | }
|
|
450 | 457 | $.datepicker._base_doKeyPress = $.datepicker._doKeyPress;
|
451 | 458 | $.datepicker._doKeyPress = function(event) {
|
452 | 459 | var inst = $.datepicker._getInst(event.target);
|
453 |
| - |
454 |
| - if ($.datepicker._get(inst, 'constrainInput')) { |
455 |
| - var dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')); |
456 |
| - var chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode); |
457 |
| - // keyCode == 58 => ":" |
458 |
| - // keyCode == 32 => " " |
459 |
| - return event.ctrlKey || (chr < ' ' || !dateChars || dateChars.indexOf(chr) > -1 || event.keyCode == 58 || event.keyCode == 32); |
| 460 | + var tp_inst = $.datepicker._get(inst, 'timepicker'); |
| 461 | + |
| 462 | + if(tp_inst){ |
| 463 | + if ($.datepicker._get(inst, 'constrainInput')) { |
| 464 | + var dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')); |
| 465 | + var chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode); |
| 466 | + var chrl = chr.toLowerCase(); |
| 467 | + // keyCode == 58 => ":" |
| 468 | + // keyCode == 32 => " " |
| 469 | + return event.ctrlKey || (chr < ' ' || !dateChars || dateChars.indexOf(chr) > -1 || event.keyCode == 58 || event.keyCode == 32 || chr == ':' || chr == ' ' || chrl == 'a' || chrl == 'p' || charl == 'm'); |
| 470 | + } |
| 471 | + } |
| 472 | + else{ |
| 473 | + return $.datepicker._base_doKeyPress(event); |
460 | 474 | }
|
461 | 475 |
|
462 | 476 | };
|
|
0 commit comments