で、次の小さな変更を行いますjquery-ui-timepicker-addon.js
。_doKeyPress
if ($.datepicker._get(inst, 'constrainInput')) {
var ampm = tp_inst._defaults.ampm,
dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')),
datetimeChars = tp_inst._defaults.timeFormat.toString()
.replace(/[hms]/g, '')
.replace(/TT/g, ampm ? 'APM' : '')
.replace(/Tt/g, ampm ? 'AaPpMm' : '')
.replace(/tT/g, ampm ? 'AaPpMm' : '')
.replace(/T/g, ampm ? 'AP' : '')
.replace(/tt/g, ampm ? 'apm' : '')
.replace(/t/g, ampm ? 'ap' : '') +
" " + tp_inst._defaults.separator +
tp_inst._defaults.timeSuffix +
(tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') +
(tp_inst._defaults.amNames.join('')) + (tp_inst._defaults.pmNames.join('')) +
':*' +
dateChars,
chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode);
return event.ctrlKey || (chr < ' ' || !dateChars || datetimeChars.indexOf(chr) > -1);
}
入力を':*' +
サポートするために、また時間の区切りとしても追加しました。:
*
timepicker init の使用時:
$('#rest_example_1').timepicker({ ... timeFormat: 'hh.mm tt' });
b/w hh と mmはdot
非常に重要です... tt - オプション ... しかし、デフォルト設定は 'hh:mm tt' なので、少し似ている 'hh.mm tt' を使用することをお勧めします。
多かれ少なかれこれは機能します。